我有一个score函数来评估一个局部搜索算法,该算法的结果在种子之间变化。该算法是任何时候,其运行时间是固定的。即使Criterion框架在impl Measurement
上推广,我也找不到一种方法来使用score函数来测量。我想知道是否可以使用Criterion来实现这一点?
我不能从https://docs.rs/criterion/latest/criterion/measurement/trait.Measurement.html实现Measurement
的API。准确地说,start(&self)
和end(&self, i)
不依赖于算法的输出。
1条答案
按热度按时间gcxthw6b1#
MarcoXerox,这是正确的。Criterion并不是真正为你正在尝试做的事情而设计的(我认为它可能会做出一些假设,即度量与执行时间成比例)然而,我认为使用
iter_custom
应该很容易实现,因为它允许您提供度量,而不是调用start
和end
。分数类型。字符串
然后,只需手动返回值作为
iter_custom
的一部分,而不是让criterion执行度量。只需确保正确考虑了所请求的迭代次数。型
我相信这应该能解决你的问题。