理想情况下,对每个字节码的cpu周期进行度量可以显示这一点,尽管我在这个主题上找不到很多东西。

编辑:
如果我有一个可以用两种不同方式进行优化的程序,并且每次优化都会减少每个变体程序执行的5个字节代码,那么除此措施外,无法告知这两种优化。

但是,按时间测量,在JVM上运行时,每个字节中的5个字节代码可能会转换为根本不同的性能特征(假设在测量两个程序时,JVM的行为可能尽可能相似)。

在可以合理地确定一个程序比另一个程序性能更好之前,两个优化的变体程序需要相差多少字节代码?

最佳答案

任意大。

即使您只考虑在单个处理器上运行的单个VM实现,由于使用即时编译也会有很大的差异。 VM不必一一执行字节码操作。而是对其进行分析,优化并将其编译为本地代码。因此,字节码和执行时间之间不一定有任何对应关系。

09-11 19:44
查看更多