在哪些场景下Range分区会比Chunk分区更好?(和虎钳诗句)
我已经知道了
块分区:从输入中抓取小块元素进行处理,然后从小块开始,然后增加块大小。
范围分区为每个工作人员预分配相等数量的元素
另外,为什么这个代码:(找到直到 100000 的素数)
IEnumerable<int> numbers = Enumerable.Range (3, 100000-3);
var parallelQuery = from n in numbers.AsParallel()
where Enumerable.Range (2, (int) Math.Sqrt (n)).All (i => n % i > 0)
select n;
范围分区可能表现不佳?
虽然这段代码:(找到前一百万个数字的 sqrt 总和)
ParallelEnumerable.Range (1, 10000000).Sum (i => Math.Sqrt (i))
与范围分区一起使用会是更好的选择吗?