Java 性能历史记录 [已关闭]

2022-09-04 04:48:33

我想知道网络上是否有一些资源可以按速度比较不同版本的Sun Java VM。

PyPy速度时间表这样的东西将是最佳的,因为我对随着时间的推移实际取得了多大进展感兴趣。

有人知道这样的项目吗?


答案 1

我不知道任何这样的项目。但是,您可以自己执行此操作:

  • 旧版本的Java(回到1.1)仍然可以从此页面下载。
  • Benchmark Game”站点具有您可以使用的10个基准测试的Java实现。

但请注意,一般的基准测试因无法预测实际应用程序的性能而臭名昭着。Java基准测试由于类加载,JIT编译以及堆大小调整和调整等原因而存在独特的问题。


Igouy评论说:“基准测试是出了名的,因为它不一定能预测实际应用程序的性能。此外,实际应用程序不一定能预测其他实际应用程序的性能。有人确实告诉我,fasta,k-核苷酸,反向补体和正则表达式dna确实是他们在工作中写的 - 对他们来说,这些小程序是“真正的应用”。

我并不是说基准永远不会具有预测性。当有人采用典型的基准测试或一组基准,然后使用它/它们来预测特定应用程序(或更糟糕的是,“所有应用程序”)将如何执行时,问题就会发生。使用这种方法,基准测试是否做出准确的预测是运气问题。这基本上就是OP正在做的事情。

更好的方法可能是选择与应用程序功能匹配的基准(或编写一个基准)。但即使使用这种方法,预测性也取决于正确匹配基准和实际应用程序的关键性能相关属性。而且,最重要的是,在实现应用程序之前,无法知道您是否已正确执行此操作...到那时,使用预测为时已晚。

因此,即使您的基准测试结果证明已经做出了准确的预测,您也无法客观地先验地确定预测是否可能准确。

显然,如果“基准测试”本质上是真正的应用程序,那么您可能可以依靠预测。但显然,这不是OP试图做的事情。此外,如果您不考虑预测,仍然存在一些问题(例如问题大小缩放),这些问题可能会混淆预测。


答案 2

推荐