我有一些代码可以进行物理建模并使用Apache Math库2.2版。数学库版本3.3现在已经取代了2.2版本,我想要升级库。
然而,测试显示新库使模型运行时间延长了20%。大部分模型运行时花在执行Math.exp()函数上,我们尽可能使用FastMath.exp(),因为它更快。但是,FastMath.exp()在Apache math3中似乎也慢了约20%。
这真是一种耻辱,因为Apache math3最终包含了Erf.erfInv(),这意味着我们不必为错误函数使用单独的库。但是,我们不能失去20%的速度。在math3中使用未经检查的异常也很不错,但是我们可以通过从v2中捕获已检查的异常并将其重新抛出为未选中来模拟它。
如果没有,我不会升级到math3: - /