3

最近我将我的 linux 机器中的 JRE 从 1.7 +JIT 升级到没有 JIT 的 1.8,并注意到性能有很大的下降,即时编译 JVM 是否比带有解释器的 JVM 快得多?谢谢,

4

1 回答 1

2

JIT 的全部目的是加速代码执行。

要记住的主要事情:JIT 增加了一个“热身”阶段。JVM 必须花时间分析您的代码在做什么,然后决定将哪些部分编译为机器代码。当然,这个编译步骤也需要很多时间。但是一旦一个方法被编译成机器代码,它当然会快几个数量级。

但请注意:我注意到性能的巨大下降几乎是毫无意义的说法。性能仅在给定上下文的情况下才有意义。含义:工作负载的上下文(你在运行什么)和实际的、真实的数字。

于 2018-08-03T12:07:26.467 回答