卡尺:如何运行多个基准测试?

4
我已经使用Caliper编写了一些基准测试。如何同时运行多个基准测试?我目前有许多扩展SimpleBenchmark的类,每个类都有几个timeXXX方法。是否可以同时运行所有这些基准测试? SimpleBenchmark的javadocs说:
引用: 基准套件的基准由定义。它们可以是静态的。不允许它们带参数。. . ..
嗯,什么意思?看起来不完整。 邮件列表上的Caliper说它不适用于Q&A,并在此处发布带有“caliper”标签的问题。但是,我没有看到任何带有此标签的SO帖子!由于我还没有1500分的声望,因此无法创建新标签。

使用案例:只有一个setUp/tearDown方法。我的基准测试类中有许多测试,每个测试都分配了大量内存。我目前必须使用巨大的堆,随着我添加更多测试,它只会变得更大。此外,一个文件中的许多测试变得有些不整洁。指定多个基准测试类并将其中所有测试视为一次运行将是很好的。


将帖子打上“卡钳”标签。 - Aravind Yarram
1个回答

1

不,没有内置机制可以将不相关的基准测试一起运行。您可以使用一个简单的shell脚本来完成此操作:

#!/bin/bash
echo $* | xargs -n 1 $CALIPER_HOME/caliper

你的使用场景是什么?我们希望能够更好地支持在Hudson等环境中运行基准测试;希望我们很快就能做到。


关于您的用例,最好使用@Param枚举定义每个策略,而不是单独的time()方法。 - Jesse Wilson
每个 time() 方法都在测试不同的类。我正在比较许多映射实现(它们并不都实现一个共同的接口)。 - NateS

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接