gpt4 book ai didi

java - 使用提前编译的 JVM 预热

转载 作者:行者123 更新时间:2023-12-03 22:55:56 26 4
gpt4 key购买 nike

我正在使用 Leiningen 在 Clojure 中创建一个项目。我必须对这个项目进行基准测试。我开始明白我必须预热我的 JVM。我已经进行了提前编译,这是否意味着我不必预热我的 JVM?

我知道调用函数 f 例如 100 次会在 JIT 中创建一个热点。

我的基准测试函数 load 将使用给定参数(包括文件路径参数)运行代码一次。目前,我使用相同的参数运行我的函数 load 1000 次,但我将它传递给一个不同的文件路径以存储其结果。完成这 1000 次调用后,我使用正确的文件路径再次执行该函数。

问题是我的基准测试有副作用(将测量结果写入文件)。所以我宁愿在真正运行一次之前不执行它 1000 次。目前我只是给它一个虚拟文件,所以它仍然写入文件,但我放弃了这些结果。

有人可以详细说明我需要注意什么吗?

最佳答案

我推荐使用 Criterium用于对 Clojure 代码进行基准测试。它会处理您询问的问题。运行基准测试需要更长的时间,因为 Criterium 会进行 JVM 预热等,然后多次运行代码,为您提供平均值和其他统计数据。但您可以对结果充满信心。

关于java - 使用提前编译的 JVM 预热,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23584694/

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