2016-07-19 31 views
0

我们有很多JMH测试,并且在运行测试时(使用gradle JMH plugin),他们正在采取长时间时间。我们所有的测试都是单线程的。如何让JMH在较短的时间内运行

任何人都可以建议如何最好地平行执行JMH测试?我们的构建箱有大量的CPU可用。从JMH插件的gradle

输出正如我们当前配置它(所有默认值)不应该在用于稳定性/可再现性的原因被并行运行

# JMH 1.12 ... 
# VM options: <none> 
# Warmup: 20 iterations, 1 s each 
# Measurement: 20 iterations, 1 s each 
# Timeout: 10 min per iteration 
# Threads: 1 thread, will synchronize iterations 
# Benchmark mode: Throughput, ops/time 

回答

2

性能测试。如果您尝试在同一个系统上运行JMH的多个实例,JMH实际上会抱怨。

你可以做的是削减执行时间,如果这被证明不会违反测试稳定性。例如。如果您知道5秒钟热身时间后工作负荷稳定在某个分数,您可以进行5x1s热身迭代。同上测量:如果您知道较少的测量迭代不会影响您获得的错误,那么也可以将其减小。与叉的数量相同。

江铃控股同时提供了注解来覆盖默认的运行模式(见例如JMHSample20_Annotations,和命令行选项太(与-h运行以获取列表)。

+0

感谢阿列克谢,感谢您的答复。这一切都很有意义。 –

相关问题