gpt4 book ai didi

java - 急切的java类加载

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

我正在尝试对运行在各种硬件和操作系统平台上的 JVM 进行一些基准测试。我创建了一个算法来练习我感兴趣的 JVM 部分,并打算多次运行该算法以找到一个合适的平均值。

当我运行基准测试时,我发现第一次运行明显比后续运行长:

132ms
86ms
77ms
89ms
72ms

我怀疑类是延迟加载的,在第一次运行时会产生很大的开销。虽然我认为这确实是每个 JVM 所独有的一项功能,但目前我对此并不感兴趣。

是否有标准的命令行选项或属性来预先加载类?或者有人有任何其他理论吗?

最佳答案

最简单的做法是忽略第一次运行。 (如果这是一件有效的事情)注意:如果您运行相同的代码 10,000 次,它会进一步编译代码并获得更好的结果,因此您可能希望忽略某些微基准测试的前 10K 个结果。

一些 JVM 支持预先加载,但我认为 Sun 的 JVM 不支持。

JWrapper 支持 AOT https://www.jwrapper.com/features

关于java - 急切的java类加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/599602/

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