,
Tamio-Vesa Nakajima
,
Sebastian Wild
Creative Commons Attribution 4.0 International license
We give a more space-efficient implementation of adaptive mergesort: Virtual-Memory Powersort. Using internal buffering techniques, we significantly reduce the memory consumption of the algorithm; specifically, for sorting n objects the required buffer area is reduced from space for n/2 objects to O(√{n log n}) objects. While this space-efficiency can be achieved (indeed reduced to O(1)) conceptually very easily with known inplace merging algorithms, using these as a drop-in replacement for the standard merge algorithm incurs a substantial slow-down. Virtual-Memory Powersort, by contrast, uses the same number of moves and comparisons as previous Powersort implementations up to an additive O(n) term. We report on an empirical running-time study comparing our implementation against other Powersort variants and state-of-the-art stable sorting methods, demonstrating that almost in-place stable sorting can be achieved with negligible overhead in many scenarios.
@InProceedings{moltmann_et_al:LIPIcs.ESA.2026.14,
author = {Moltmann, Finn and Nakajima, Tamio-Vesa and Wild, Sebastian},
title = {{Virtual-Memory Powersort}},
booktitle = {34th Annual European Symposium on Algorithms (ESA 2026)},
pages = {14:1--14:17},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-445-1},
ISSN = {1868-8969},
year = {2026},
volume = {388},
editor = {Bille, Philip and Pettie, Seth and Storandt, Sabine},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.ESA.2026.14},
URN = {urn:nbn:de:0030-drops-271501},
doi = {10.4230/LIPIcs.ESA.2026.14},
annote = {Keywords: adaptive sorting, inplace sorting, inplace merging, library sort, virtual memory, internal buffering, Powersort, Timsort}
}
archived version
archived version