gpt4 book ai didi

java - 借助JIT,程序运行时间越长,速度就越快?

转载 作者:行者123 更新时间:2023-12-02 04:30:58 24 4
gpt4 key购买 nike

我尝试在纯解释模式下运行java程序,但该程序的速度令人无法忍受。

随着时间的推移,JIT 应该能够将更多的字节码编译为 native 代码,因此程序应该运行得更快。我对吗?如果我的应用程序(例如 Tomcat)运行了几周、几个月,JIT 是否有可能将大部分字节码编译为 native 代码?

非常感谢您的回答,谢谢!

最佳答案

With the help of JIT, the longer program runs, the faster it is?

在某种程度上是的。一旦所有重要的事情都经过 JIT 编译,它就会停止变得更快。

If my application(such as Tomcat) runs for several weeks, months, is it possible that JIT has compiled most of the byte-code into native code?

所有代码可能都经过 JIT 编译。某些代码也可能未经过 JIT 编译。

JIT编译的粒度是一种方法。但是,JIT 编译器只有在解释器注意到它运行某个方法所花费的时间超过一定时间后才会决定对其进行 JIT 编译。如果您有一个从未被调用的方法,则它不会被 JIT 编译。

这并不重要。如果一个方法从未或几乎从未使用过,那么它(仍然)被解释这一事实可能对性能的影响很小。

<小时/>

正如 Joop Eggen 指出的那样,还有其他问题可能导致长时间运行的程序变慢……或加速。例如:

  • 各种资源泄漏都可能导致速度下降。

  • 加速可能是由于堆存储管理(“预热”)和缓存填充的稳定性所致。

关于java - 借助JIT,程序运行时间越长,速度就越快?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31477778/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com