java1.8中stream的性能

2020-12-10  本文已影响0人  惠惠雨辰

对于简单操作,比如最简单的遍历,Stream串行API性能明显差于显示迭代,但并行的Stream API能够发挥多核特性。

对于复杂操作,Stream串行API性能可以和手动实现的效果匹敌,在并行执行时Stream API效果远超手动实现。

所以,如果出于性能考虑,

1. 对于简单操作推荐使用外部迭代手动实现。

2. 对于复杂操作,推荐使用Stream API。

3. 在多核情况下,推荐使用并行Stream API来发挥多核优势。

4.单核情况下不建议使用并行Stream API。

如果出于代码简洁性考虑,使用Stream API能够写出更短的代码。

即使是从性能方面说,尽可能的使用Stream API也另外一个优势,那就是只要Java Stream类库做了升级优化,代码不用做任何修改就能享受到升级带来的好处。

for本来就是比较底层的操作,性能自然很高。stream的优势是并行处理。数据量越大,stream的优势越明显,数据量小,肯定是for循环性能最好。

上一篇 下一篇

猜你喜欢

热点阅读