測試1
@benchmarkmode(mode.averagetime)@outputTimeUnit(timeunit.nanoseconds)@warmup(iterations = 5,time = 3,timeunit = timeunit = timeunit.seconds)@measurement @measurement(iterations = 20,time = 3,time = 3,timeunit = timeUnit = timeunit = timeunit = timeunit = timeunit.seconds)@fork(@fork) List <string> data = new ArrayList <>(); @setup public void init(){//準備(int i = 0; i <100; i ++){data.add(uuid.randomuuid()。toString()); }} @teardown public void destory(){// descory} @benchmark public void benchstream(){data.stream()。 } @benchmark public void benchparallelstream(){data.parallelstream()。 } public static void main(string [] args)拋出RunNereXception {options opt = new OptionsBuilder().include(“。新Runner(opt).run(); }}}平行路線線程數
默認是runtime.getRuntime()
運行結果
#運行完整。 Total time: 00:02:44Benchmark Mode Cnt Score Error UnitsStreamBenchTest.benchParallelStream avgt 20 155868805.437 ± 1509175.840 ns/opStreamBenchTest.benchStream avgt 20 1147570372.950 ± 6138494.414 ns/op
測試2
將數據數據改為30,同時睡覺改為100
基準模式CNT分數錯誤單位streambenchtest.benchparallelstream AVGT 20 414230854.631±725294.455 NS/opStreamBenchtest.benchstest.benchstest.benchstest.3107250608.500
可以發現睡覺越長,平行路線優勢越明顯。
小結
平行路線在阻塞場景下優勢更明顯,其線程池個數默認為
runtime.getRuntime()
以上就是本次講述知識點的全部內容,感謝你對武林網的支持。 ,感謝你對武林網的支持。