2016-07-19 35 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

感謝阿列克謝,感謝您的答覆。這一切都很有意義。 –

相關問題