for循环,stream,parallelStream的性能区别
for循环
for循环的性能随着数据量的增加性能也越来越差。
普通的循环不涉及较大的数据量,使用for循环更好。
stream(串行流)
stream在数据量小的情况下性能差,在数据量中、大的时候性能略高于for循环,但当数据量特别大的时候,性能也变得越来越差。
parallelStream(并行流)
parallelStream适用的场景是CPU密集型的,加入电脑本身CPU负载很大,parallelStream并不能起到并行流的作用。
parallelStream不适用于I/O密集型的操作。
parallelStream无法保证元素的顺序,多线程情况下,会有线程安全问题。
parallelStream在数据量小的情况下性能略高于串行化流,略低于for循环。在数据量中的情况都差不多,在数据量比较大时性能查,但是当数据量特别大的时候,性能也变得更好。