Skip to content

Conversation

ybonnel
Copy link

@ybonnel ybonnel commented Nov 25, 2015

Before :
Benchmark Mode Cnt Score Error Units
LoopBenchmarkMain.forEachLambdaMaxInteger avgt 10 0,711 ± 0,159 ms/op
LoopBenchmarkMain.forEachLoopMaxInteger avgt 10 0,126 ± 0,003 ms/op
LoopBenchmarkMain.forMaxInteger avgt 10 0,233 ± 0,029 ms/op
LoopBenchmarkMain.iteratorMaxInteger avgt 10 0,127 ± 0,010 ms/op
LoopBenchmarkMain.lambdaMaxInteger avgt 10 0,620 ± 0,063 ms/op
LoopBenchmarkMain.parallelStreamMaxInteger avgt 10 0,490 ± 0,075 ms/op
LoopBenchmarkMain.streamMaxInteger avgt 10 0,673 ± 0,022 ms/op

After :
Benchmark Mode Cnt Score Error Units
LoopBenchmarkMain.forEachLambdaMaxInteger avgt 10 0,135 ± 0,031 ms/op
LoopBenchmarkMain.forEachLoopMaxInteger avgt 10 0,127 ± 0,005 ms/op
LoopBenchmarkMain.forMaxInteger avgt 10 0,229 ± 0,010 ms/op
LoopBenchmarkMain.iteratorMaxInteger avgt 10 0,123 ± 0,002 ms/op
LoopBenchmarkMain.lambdaMaxInteger avgt 10 0,104 ± 0,005 ms/op
LoopBenchmarkMain.parallelStreamMaxInteger avgt 10 0,294 ± 0,038 ms/op
LoopBenchmarkMain.streamMaxInteger avgt 10 0,116 ± 0,005 ms/op

Thread something strange on parallelStreamMaxInteger, the result is not stable. But i think the operation is to fast to take advantage of parallel, maybe you can try with 10 000 000 of integers.

PS : I think your blog post needs to be updated :)

EDIT :
By removing volatile, the result are better on forMaxInteger and parallelStreamMaxInteger :
Benchmark Mode Cnt Score Error Units
LoopBenchmarkMain.forEachLambdaMaxInteger avgt 10 0,140 ± 0,032 ms/op
LoopBenchmarkMain.forEachLoopMaxInteger avgt 10 0,125 ± 0,005 ms/op
LoopBenchmarkMain.forMaxInteger avgt 10 0,136 ± 0,065 ms/op
LoopBenchmarkMain.iteratorMaxInteger avgt 10 0,140 ± 0,022 ms/op
LoopBenchmarkMain.lambdaMaxInteger avgt 10 0,112 ± 0,002 ms/op
LoopBenchmarkMain.parallelStreamMaxInteger avgt 10 0,083 ± 0,010 ms/op
LoopBenchmarkMain.streamMaxInteger avgt 10 0,119 ± 0,010 ms/op

Before :
LoopBenchmarkMain.forEachLambdaMaxInteger   avgt   10  0,711 ± 0,159  ms/op

After :
LoopBenchmarkMain.forEachLambdaMaxInteger   avgt   10  0,130 ± 0,032  ms/op
Before :
LoopBenchmarkMain.streamMaxInteger  avgt   10  0,673 ± 0,022  ms/op

After :
LoopBenchmarkMain.streamMaxInteger  avgt   10  0,130 ± 0,025  ms/op
Before :
LoopBenchmarkMain.streamMaxInteger  avgt   10  0,673 ± 0,022  ms/op

After :
LoopBenchmarkMain.lambdaMaxInteger  avgt   10  0,104 ± 0,004  ms/op
Before :
LoopBenchmarkMain.parallelStreamMaxInteger  avgt   10  0,490 ± 0,075  ms/op

After :
LoopBenchmarkMain.parallelStreamMaxInteger  avgt   10  0,067 ± 0,004  ms/op
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant