【发布时间】:2009-11-09 01:00:32
【问题描述】:
我对 Java 数值算法的性能感到好奇,例如矩阵矩阵双精度乘法,使用最新的 JIT 机器,例如与手动调整的 SSE C++/汇编器或 Fortran 对应物进行比较。
我在网上查看过,但大部分结果来自近 10 年前,我知道 Java 从那时起取得了很大进步。
如果您有在数字密集型应用程序中使用 Java 的经验,可以分享一下您的经验。此外,Java 在循环相对较短且内存访问不是很均匀但仍在 L1 缓存范围内的内核中表现如何?如果这样的内核连续执行多次,JVM可以在运行时对其进行优化吗?
谢谢
【问题讨论】:
-
您最好自己测试一下,因为与 C++ 的比较会很困难,因为这将是最快的,并且任何比较都无法访问您的特定实现。
-
请注意其他来到此页面的人:这个问题和大多数答案都来自 2009 年。现在的 JVM 比以前好多了。
-
您可能想查看 ND4J,它支持 Java 的 n 维数组。 nd4j.org/benchmarking.html
标签: java performance optimization numerical sse