物理モデリングを行い、Apache Math ライブラリ バージョン 2.2 を使用するコードがいくつかあります。数学ライブラリのバージョン 3.3 がバージョン 2.2 に取って代わり、約 3 年が経過したため、ライブラリをアップグレードしたいと考えていました。
ただし、テストでは、新しいライブラリを使用すると、モデルの実行に 20% 長い時間がかかることがわかりました。モデルの実行時間の多くは Math.exp() 関数の実行に費やされます。可能な場合は FastMath.exp() の方がはるかに高速であるため、これを使用します。ただし、Apache math3 では FastMath.exp() も約 20% 遅くなるようです。
Apache math3 には最終的に Erf.erfInv() が含まれているため、これは本当に残念です。これは、エラー関数用に別のライブラリを使用する必要がないことを意味します。ただし、20% の速度を失うわけにはいきません。math3 でのチェックされていない例外の使用も素晴らしいですが、v2 からチェックされた例外をキャッチし、チェックされていないものとして再スローすることで、それをシミュレートできます。
- これらの場所で math3 が遅い理由を知っている人はいますか?
- パフォーマンスへの影響にもかかわらず、アップグレードする必要がある差し迫った理由がある人はいますか?
そうでない場合は、math3 にアップグレードしません :-/