gpt4 book ai didi

java - jmh GC 分析器结果的值

转载 作者:行者123 更新时间:2023-12-02 02:23:32 25 4
gpt4 key购买 nike

为了避免 JVM 上基准测试的大多数众所周知的陷阱,我使用 jmh(java 微基准测试工具)。另外,我确实知道垃圾收集可能会扭曲基准测试结果。

现在我想知道 jmh 与 -prof gc 的结果有多具有表现力。 jmh 是否采取特殊行动使结果有意义?

我想到的其他问题是:

  • 如果在测量期间没有发生垃圾收集怎么办?
  • 如果分析 gc,jmh 是否会强制执行垃圾回收?
  • 在单独的 JVM/java 进程中运行每个基准测试对 gc 分析有何影响?

最佳答案

Also, I do understand that garbage collection can distort benchmark results.

它并没有真正扭曲结果。如果您的代码产生垃圾,那么 GC 周期就是您的算法产生的性能成本的一部分。您只需以摊销方式支付,而不是按调用支付。当然,基准测试编写者需要确保迭代和预热计数设置得足够大,以便获得有意义的样本,因此如果您还希望测量 GC 的影响,则需要运行基准测试足够长的时间让 GC 人体工学达到稳定状态。

当然,微基准测试只是这样,它不是整个应用程序基准测试。而且由于 GC 成本通常不仅仅取决于分配率(例如,实时集大小是另一个因素),因此应谨慎解释这些结果。

关于java - jmh GC 分析器结果的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48116123/

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