我希望在我的免费 Amazon EC2 上为一个爱好项目复习和/或学习一些语言,我正在查看Java vs C(或Scala vs C)和Fortran vs C的基准测试结果。似乎 Java 与 C 的差距在 Fortran 与 C 中几乎相同,这让我想知道 JVM(及其 JIT 优化)的进步是否足够快以在高性能(科学)中占据与 C 和 Fortran 相同的地位) 在不久的将来计算。
除性能外,要考虑的因素可能是:
- 代码的可读性、可维护性和表达性
- 可扩展硬件基础设施的成本
- 图书馆的可用性
- 并行和/或并发编程支持
- 人才库
编辑问题:在所有高性能计算领域中,哪些领域可能会看到 Java/Scala JVM 生态系统的兴起?例如,在我看来,复杂系统分析、经济/金融、机器学习等可能是其中一些领域。还有什么?
2015 年 9 月 24 日编辑:在我发布了这个问题之后,我遇到了这篇旧的(2007 年)博客文章,它为 Java 和 C 重新做了一些相同的基准测试游戏,但在排除了最初的预热/优化运行之后(虽然, 它的效果是有争议的) 对于几个不同的 Java 编译器,结果是相当令人惊讶的。虽然,正如 Isaac Gouy 在该博客上的评论所说,为每个基准测试运行 4-5 次试验可能不足以平均该系统上运行的其他进程的处理器使用率。但仍然是一个有趣的博客。自 2007 年那篇博客以来,我相信 JRockit 和 HotSpot 编译器已被 Oracle 合并,但不确定它们与 C 编译器的组合性能如何。