我已经完成了一些关于x * x或Math.pow(x,2)在Java中是否更快的测试。我期待简单的x * x有点快,但事实证明它的速度相当快。有人可以启发我,请问这有可能吗?
答案 0 :(得分:36)
答案 1 :(得分:1)
Math.pow()
的内部实现被委托给本机函数,因此可以合理地获得良好的性能。
在任何情况下,为了获得有效的测试结果,您必须在循环中测试时间以使执行时间切合实际。
答案 2 :(得分:-2)
对于所有你知道它的JITted(甚至已经在编译时)同样的事情。由于没有真正的背景,这些微基准测试很少能提供非常有用的结果。
这绝对不是一个偏好另一个的理由,因为现实世界的代码很少有简单的x^2
操作作为性能热点。