我们正在计算一些其运行时间受矩阵运算约束的东西。(如有兴趣,请参阅以下资料。)这一经历促使人们提出以下问题:
人们是否对用于矩阵数学的 Java 库的性能有经验(例如,乘法、逆运算等) ? 例如:
我搜查了一遍,什么也没找到。
我们的速度比较详情:
我们正在使用英特尔 FORTRAN (IFORT (IFORT)10.120070913)。我们已经在 Java (1.6)中使用 Apachecommons 数学1.2矩阵操作系统重新实现了它,并且它同意所有数字的准确性。(我们希望在 Java 中使用它是有原因的。)(Java 双精度,Fortran real * 8)。Fortran: 6分钟 Java 33分钟,同一台机器。Jvisalm 分析显示了在 RealMatrixImpl 中花费的大量时间。{ getEntry,isValid坐标}(在未发布的 Apache commons math2.0中似乎已经消失,但是2.0并没有更快)。Fortran 正在使用 Atlas BLAS 例程(dpotrf 等)。
显然,这可能取决于我们每种语言的代码,但我们相信大多数时间是在等价的矩阵运算。
在其他一些不涉及库的计算中,Java 的速度并没有慢多少,有时甚至快得多。