gpt4 book ai didi

java - 有没有办法从 JVM 内部判断某个特定方法是否已经过 JIT 编译?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:22:14 25 4
gpt4 key购买 nike

编写微基准测试时,可以观察到运行时的巨大差异,具体取决于方法是否已编译。有没有办法从程序内部判断某个特定方法是否已被编译?或者,有没有一种方法可以请求它,或者知道如何在没有任何额外信息的情况下充分预热它,例如传递给 JVM 的标志?显然,这不一定是完美的(例如,可能存在导致 JVM 回退到解释代码的某些条件),但它肯定会有所改进。

最佳答案

对于 Sun/Oracle JVM,您可以使用 -XX:CompileThreshold=1000 设置。

这 - 作为 official documentation状态 - 定义:

Number of method invocations/branches before compiling

然后,只需使用数字来“预热”JVM。

您还可以将 -XX:-PrintCompilation-XX:CompileThreshold 一起使用,以便在编译方法时收到通知(在控制台中)。

关于java - 有没有办法从 JVM 内部判断某个特定方法是否已经过 JIT 编译?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13435438/

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