Java 判断哪个版本性能更好的最简单直接的方法是什么?

Java 判断哪个版本性能更好的最简单直接的方法是什么?,java,comparison,profiling,performance,Java,Comparison,Profiling,Performance,我有一个应用程序,我已经重新考虑过了,所以我相信它现在更快了。人们可能感觉不到差异,但从理论上讲,应用程序应该运行得更快。通常我不会在意,但由于这是我硕士学位项目的一部分,我想支持我的观点,即重新分解不仅导致了设计的改进和“更高的质量”,而且还提高了应用程序的性能(一个小玩具-火车组模拟) 今天我已经玩了大约四个小时最新的VisualVM,但是我没有从中得到任何帮助。没有(或者我还没有找到)一种方法可以简单地比较两个版本(重构前和重构后)的评测结果 什么是最简单、最直接的方法来区分应用程序的慢版

我有一个应用程序,我已经重新考虑过了,所以我相信它现在更快了。人们可能感觉不到差异,但从理论上讲,应用程序应该运行得更快。通常我不会在意,但由于这是我硕士学位项目的一部分,我想支持我的观点,即重新分解不仅导致了设计的改进和“更高的质量”,而且还提高了应用程序的性能(一个小玩具-火车组模拟)

今天我已经玩了大约四个小时最新的VisualVM,但是我没有从中得到任何帮助。没有(或者我还没有找到)一种方法可以简单地比较两个版本(重构前和重构后)的评测结果


什么是最简单、最直接的方法来区分应用程序的慢版本和快版本。两者的差异一定对性能产生了影响。谢谢。

我建议创建一些模拟应用程序实际使用情况的自动化测试。创建足够的测试,以获得一个合适的基准

在各种负载下为两个版本的应用程序运行测试套件


这会给你一个相当真实的表演时间。在较低的层次上做可能不会给你一个准确的事实。

我想你可以找到一个很好的方法来衡量差异,如果你没有做任何其他事情,你可以说这是因为重构,但我会为此感到困扰,因为这并不能真正理解为什么它更快

让我信服的是如果能证明

  • 特定代码行或一小部分代码行直接占总挂钟时间的F%左右

  • 结果表明,这条线或几条线并不是真正必要的,因为可以找到一种方法来减少或根本不使用它

  • 这一变化导致总的挂钟时间减少约F%