gpt4 book ai didi

java - 为什么我们必须固定每次测量迭代的持续时间?

转载 作者:行者123 更新时间:2023-11-30 08:54:29 25 4
gpt4 key购买 nike

迭代的时间意味着什么?

@Measurement(iterations = 50, time = 2)

是否应该固定测量的时间,如果测量的迭代时间超过 2 秒,迭代将停止?如果那是真的,这对测量有什么影响。

最佳答案

该问题的直接答案是:“我们必须提供迭代时间(或依赖默认迭代时间),否则迭代将永远不会停止”。根据基准测试模式,迭代时间的含义可能不同。例如,Javadoc says :

/**
* <p>Throughput: operations per unit of time.</p>
*
* <p>Runs by continuously calling {@link Benchmark} methods,
* counting the total throughput over all worker threads.
* This mode is time-based, and it will run until the iteration
* time expires.</p>
*/
Throughput("thrpt", "Throughput, ops/time"),

在 Java 中没有办法停止不合作的执行,除非杀死 VM。 (中断线程需要合作:那里应该检查中断)。因此,如果 @Benchmark 调用花费的时间比请求的迭代时间长,我们除了等待之外别无选择。

关于java - 为什么我们必须固定每次测量迭代的持续时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29391339/

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