我在想什么更快:
double value = Math.log(a) - Math.log(b);或
double value = Math.log(a/b);我计算value的方式是否会对性能产生影响(假设这会经常被调用),或者编译器会为我优化这一点吗?
发布于 2015-01-23 15:32:48
我认为Math.log(a/b)更快。为什么?
为了解决.log(x),编译器首先解析x的值,在本例中是a/b。
因此,解决log的步骤是:
xa/b ab
a/blog(a/b)另一方面,日志的减法意味着对Solve x进行2次( a和b各一次)。然后,您将不得不解析x-y,其中x和y是.log()操作。
但是,Java可以为您优化所有这些。
https://stackoverflow.com/questions/28112984
复制相似问题