Java Stream的性能问题

来源:互联网 发布:java 线程池 超时 编辑:程序博客网 时间:2024/05/12 05:35

有人做了个实验,通过比较Java Stream和For循环的性能,得出结论说Stream的性能是For循环的1/10不到,性能低下,要警惕。

我没有重复实验,这里假设他得到的数据没错。他的实验是循环了几百万次后,差了几个毫秒。在循环中几乎没有做什么耗时业务,就是简单的一次加法运算。我们假设循环本身耗时是A,业务耗时是B,那么在B很小的时候,A之间性能差异体现就看起来比较大。但实际业务中,B耗时占大多数,甚至超过99%,这时候A业务性能上的差异就忽略不计了。

Stream可以让代码看起来更清晰、更简洁、更符合单一职责原则、更容易维护,取得这么多好处,带来那么一丁点性能上的损失,完全可以接受。因此,对数据集合的处理,强烈建议替换为Stream

0 0