0

我有一些代码可以进行物理建模并使用 Apache Math 库 2.2 版。数学库 3.3 版已经取代 2.2 版大约 3 年了,我想升级这个库。

然而,测试显示新库使模型的运行时间延长了 20%。大部分模型运行时间都花在了 Math.exp() 函数上,我们尽可能使用 FastMath.exp(),因为它更快。然而,FastMath.exp() 在 Apache math3 中似乎也慢了大约 20%。

这是一个真正的耻辱,因为 Apache math3 最终包含 Erf.erfInv() 这意味着我们不必为错误函数使用单独的库。但是,我们不能承受失去 20% 的速度。在 math3 中使用未检查的异常也很好,但我们可以通过从 v2 捕获已检查的异常并重新抛出未检查的异常来模拟这一点。

  • 有谁知道为什么 math3 在这些地方比较慢?
  • 尽管会影响性能,但是否有人有任何迫切的理由为什么我应该升级?

如果没有,我不会升级到 math3 :-/

4

0 回答 0