我需要计算Math.exp()
非常频繁地从 java 中获取,是否有可能让本机版本运行得比java's Math.exp()
??
我只尝试了 jni + C,但它比普通的慢java.
这已经被多次请求(参见例如here)。这是 Math.exp() 的近似值,复制自这篇博文:
public static double exp(double val) {
final long tmp = (long) (1512775 * val + (1072693248 - 60801));
return Double.longBitsToDouble(tmp << 32);
}
它基本上与具有 2048 个条目和条目之间的线性插值的查找表相同,但所有这些都使用 IEEE 浮点技巧。在我的机器上它比 Math.exp() 快 5 倍,但是如果您使用 -server 进行编译,这可能会有很大差异。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)