|
|
1
7
是的,编译器在编译时计算表达式并将结果值用作常量。自己用结果值声明另一个常量是没有好处的。
编辑:狐狸是正确的。可赋值类型常量(参见
|
|
2
4
您可以确保这样,仅为了可读性:
|
|
|
3
3
它在编译时将其转换为常量。 但是,即使没有,这也不会对应用程序的性能产生明显的影响。 如果你的应用程序很忙,你可能会每秒处理几千条消息。你的旧奔腾我每秒可以做无数次的移位和加和。 保持代码的可读性,并对其进行分析以找到您随后优化的瓶颈——通常是通过查看算法,而不是像您是否在移动这样低的级别。 |
|
|
4
2
我怀疑在这里使用一个数字(顺便说一下,是1073741824)确实会提高性能。您似乎在某些Windows消息上下文中,这可能会比单个消息添加更多的延迟,而且即使在编译时没有优化该数字(无论如何,我认为它是优化的),这也非常快。 我能想象的唯一例外是运行这段特定代码的情况 真的? 通常,但正如我所说,我认为这在编译时得到了优化,所以即使在这种情况下,它也不会有任何区别。 |
|
|
5
1
也许这与你的问题无关,但我用一个案例记录来记录这类事情,例如:
看见 article on my blog 有关详细信息 |
|
|
George S. · 是否存在基于元组的控制流语句内部表示? 8 年前 |
|
FlatAssembler · 在x86程序集中计算exp(x) 8 年前 |
|
|
cib · 即时编译和动态编译有什么区别? 8 年前 |
|
|
Artemis · 寄存器与指令之间的差异 8 年前 |
|
|
Sam · 了解go工具编译和链接命令 8 年前 |