shm*_*sel 8 java java-8 java-stream spliterator
我正在实现一个Spliterator
通过trySplit()
返回明确限制并行化的方法null
.实施estimateSize()
是否会为此分裂器生成的流提供任何性能改进?或者估计的大小仅对并行化有用?
编辑:澄清一下,我特别询问估计的大小.换句话说,我的分裂者没有这个SIZED
特征.
查看相关分裂器特征的调用层次结构表明它至少与stream.toArray()
性能相关
此外,内部流实现中有一个等效标志,似乎用于排序:
因此,除了并行流操作之外,大小估计似乎也用于这两个操作.
我没有要求我的搜索详尽无遗,所以请以这些为例.
如果没有SIZED特性,我只能找到estimateSize()
与流管道的并行执行相关的调用.
当然,这可能会在将来或其他Stream实现中发生变化,而不是标准JDK可能会采取不同的行为.