具有2的幂的变量值有多少性能差异?

时间:2015-04-13 13:59:04

标签: java performance optimization

或者现代CPU(包括移动设备)的差异是微不足道的?假设你有一百万个变量。

1 个答案:

答案 0 :(得分:1)

这可能没什么区别。

在典型的处理器上,算术指令需要相同的时间而不管值...模数硬件异常。 (如果类型不同,它们可能需要不同的时间,但这是另一回事。)

唯一可能使二次幂值更快的情况是当有问题的值是常数并且您正在进行整数乘法或除法时。在这种情况下,它是合理的 JIT编译器可能将乘法或除法运算转换为移位运算。但是,这只会发生在(JIT)编译时常量。

(JIT是否实际执行此操作取决于相对指令时间以及JIT优化程序的复杂程度。)