我们正在计算某种其运行时受矩阵运算约束的东西。(如果感兴趣,请在下面提供一些详细信息。)这种经历提示了以下问题:
人们对矩阵数学的Java库的性能(例如,乘法,逆运算等)是否有经验?例如:
我搜索后什么也没找到。
我们的速度比较细节:
我们正在使用Intel FORTRAN(ifort(IFORT)10.1 20070913)。我们已经使用Apache Commons Math 1.2矩阵操作在Java(1.6)中重新实现了它,并且它同意其所有准确性。(我们有使用Java的理由。)(Java加倍,Fortran real * 8)。Fortran:6分钟,Java 33分钟,同一台计算机。jvisualm性能分析显示在RealMatrixImpl。{getEntry,isValidCoordinate}上花费了很多时间(在未发布的Apache Commons Math 2.0中似乎消失了,但是2.0并没有更快)。Fortran使用Atlas BLAS例程(dpotrf等)。
显然,这可能取决于我们使用每种语言编写的代码,但是我们认为大部分时间都在等效的矩阵运算中。
在其他一些不涉及库的计算中,Java的运行速度并不慢,有时甚至快得多。