iteratorや拡張forよりStreamのforEachが速い?

ちょっと気になったので、簡単にベンチマークしてみました。
最初は、ラムダ呼び出しが入る分forEachは遅いんじゃないかと思っていたら、倍の速さに。
もちろん、いろんな条件で変わるんだろうけど、ここまで差が出ることがあるのは驚き。

あと、Collectors.summingIntのような基本型に対するCollectorを使うよりは、intStreamに変換してからsumなど専用メソッドを使うほうが圧倒的に速いことも確認できた。

続きを読む