2023-01-21 288
我需要经常从java计算Math.exp(),是否可以使本机版本比 java ‘s Math.exp() ??
更快地运行速度.
我只尝试了JNI + C,但是比纯 Java .
慢.
+1编写自己的EXP()实现.也就是说,如果这是您应用程序中的瓶颈.如果您可以处理一些不准确性,那么那里有许多极其有效的指数估计算法,其中一些可以追溯到几个世纪.据我了解,Java的Exp()实现也很慢,即使对于必须返回”精确”结果的算法.
哦,不要害怕在Pure-Java中写入Exp()实现. JNI有很多开销,JVM能够在运行时优化字节码,甚至超出C/C ++能够实现的目标.
已经多次请求此要求(请参见在这里).这是Math.exp()的近似值,从此博客发布:
public static double exp(double val) {
final long tmp = (long) (1512775 * val + (1072693248 - 60801));
return Double.longBitsToDouble(tmp << 32);
}
它基本上与一个具有2048个条目的查找表和条目之间的线性插值相同,但是所有这些都带有IEEE浮点技巧.它的5倍比我的机器上的Math.exp()快,但是如果您使用-Server编译.
可能会大不相同.
使用Java.
另外,EXP的缓存结果,然后您可以更快地查找答案.
以上所述是小编给大家介绍的通过JNI更快的Math.exp()?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!
原文链接:https://77isp.com/post/26210.html
=========================================
https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。
数据库技术 2022-03-28
网站技术 2022-11-26
网站技术 2023-01-07
网站技术 2022-11-17
Windows相关 2022-02-23
网站技术 2023-01-14
Windows相关 2022-02-16
Windows相关 2022-02-16
Linux相关 2022-02-27
数据库技术 2022-02-20
抠敌 2023年10月23日
嚼餐 2023年10月23日
男忌 2023年10月22日
瓮仆 2023年10月22日
簿偌 2023年10月22日
扫码二维码
获取最新动态