计算机内存大小4G,如何对100G大小的文件数据进行排序
内存相对太小,直接在内存中排序肯定不行,因此需要:
1. 对源文件进行拆分,分成50份,每份2G;
2. 对每一个2G文件进行排序;
3. 设置2000/50 = 40M的输入缓存50个in_cache[],1G的输出缓存out_cache);
4. 依次从50个2G文件中写入到50个40M缓存中;
5. 使用50路归并排序算法,对所有缓存进行排序,结果放入输出缓存中;
内存相对太小,直接在内存中排序肯定不行,因此需要:
1. 对源文件进行拆分,分成50份,每份2G;
2. 对每一个2G文件进行排序;
3. 设置2000/50 = 40M的输入缓存50个in_cache[],1G的输出缓存out_cache);
4. 依次从50个2G文件中写入到50个40M缓存中;
5. 使用50路归并排序算法,对所有缓存进行排序,结果放入输出缓存中;