标签:com 内存 随机 分块 out ems 比较 chunk 实现
支持分块
创建一个用于排序的源头,通过可变参数...传入设置的值,返回的时候注意要close(out)

创建一个内部排序函数,从内存中获取并利用sort.Ints(a)来排序。

使用:

针对多个源进行排序,与上面区别是输入源多了一个,需要判断

使用

读取数据源,chunkSize是确认读取数据大小,如果读完就不读了。注意这里语句make([ ]byte,8)

写入数据

利用随机数生成数据

搭建归并节点组
归并排序

使用

使用:

具体实现:


运行结果(查看大小)


(因为大文件一会读不玩,我们利用时间看下到底是怎么的)

在InMemSort中增加输出,并将out创建时候,改成1024

在Merge里增加输出


在createPipeline调用init函数

修改主函数:计算机是4核的,因此参数为4比较划算,文件大小改为800000000比较慢,这里我采用较小的

输出大致为:

标签:com 内存 随机 分块 out ems 比较 chunk 实现
原文地址:https://www.cnblogs.com/ycx95/p/9435901.html