Based on their names, I would expect minimum_memory_phase_1(), minimum_memory_phase_2(), and minimum_memory_phase_3() to compute the least amount of memory one should provide the sorter for it to be happy. Maybe this in itself is a misunderstanding, but then maybe some documentation should be added to these functions?
Actual Behaviour
Using minimum_memory_phase_1() causes a "Not enough phase 1 memory for 128 KB items and an open stream!" warning printed to the console.
minimum_memory_phase2() and minimum_memory_phase3() seem to always return 0. This does not have any impact on the sorter, as it silently takes more than given (I assume?)
Expected Behaviour
Based on their names, I would expect
minimum_memory_phase_1()
,minimum_memory_phase_2()
, andminimum_memory_phase_3()
to compute the least amount of memory one should provide the sorter for it to be happy. Maybe this in itself is a misunderstanding, but then maybe some documentation should be added to these functions?Actual Behaviour
minimum_memory_phase_1()
causes a "Not enough phase 1 memory for 128 KB items and an open stream!" warning printed to the console.minimum_memory_phase2()
andminimum_memory_phase3()
seem to always return 0. This does not have any impact on the sorter, as it silently takes more than given (I assume?)Minimal example
When running this (also with much more than just 128 MiB of memory) on
master
will cause the following warning to be printed:Running the same on
fix-sort-large-items
makes this estimate even more undershoot the actual value.