External sorting describes a class of sorting algorithms that can handle massive amounts of data. It is required when the data being sorted do not fit into the main memory of a computing device (usually RAM) and instead they must reside in the slower external memory (usually a hard drive).
External sorting is a term for a class of sorting algorithms that can handle massive amounts of data. External sorting is required when the data being sorted do not fit into the main memory of a computing device (usually RAM) and instead they must reside in the slower external memory (usually a hard drive).
External sorting typically uses a hybrid sort-merge strategy. In the sorting phase, chunks of data small enough to fit in main memory are read, sorted, and written out to a temporary file. In the merge phase, the sorted subfiles are combined into a single larger file.
References and external links
- Wikipedia entry
- STXXL, an algorithm toolkit including external mergesort
- An external mergesort example
- A K-Way Merge Implementation
- External-Memory Sorting in Java
- A sample pennysort implementation using Judy Arrays
- Sort Benchmark