【发布时间】:2010-05-13 06:19:59
【问题描述】:
让我们举一个简单的例子,假设两条线做同样的事情:
如果(值 >= 128 || 值
或
如果 (值 & ~ 127) ...
假设“如果在数千次迭代的循环中代价高昂,是保持传统 C 语法更好还是尽可能找到二进制优化的语法更好?
【问题讨论】:
-
猜测会完成什么?分析它并找出答案。如果你要买一辆车,你会猜猜你更喜欢哪一辆,还是每个都试一试看看?也就是说,使用前者:它更具可读性,这才是最重要的。编译器比你更擅长优化;你编写代码,他们生成二进制文件。
-
这些语句不等价。
-
这仅适用于 2 的幂,但这只是使用二进制代码“可能”比编译器更快的示例。
-
可能没有任何意义。试试看。看组装。让它以易于阅读和维护的方式工作,必要时加快速度。好的代码很容易优化。