內存相對太小,直接在內存中排序肯定不行,因此需要:
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路歸並排序算法,對所有緩存進行排序,結果放入輸出緩存中;
本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。