Enables or disables the sort's single-key radix fast path.
The radix path is a stable LSD radix sort that performs no comparisons at all, so it is a
third independent statement of the ordering beside the two comparators
(feature_risks.md Risk-89). Turning it off is how a test compares it against the comparison
sort on one fixture, which is the only way to grade a path that cannot fail slowly.
The one reason a program might turn it off is MEMORY. The radix path allocates up to four
n-element int64 buffers -- about 32 bytes per row -- where the comparison sort allocates
nothing beyond the permutation itself. At 50 million rows that is roughly 1.6 GB of scratch,
which a caller sorting near the edge of available memory may not want to spend. It buys
several times the throughput on a single key, so leave it on unless that trade is real for
you.
The full rule, in this order: the radix path is used when this flag is on and there is exactly one sort key and the row count clears an internal floor (the measured crossover below which the comparison sort is cheaper). It applies to every key family -- integer, real and string alike -- so unlike the counting path, the key's type is no reason it would decline.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| logical, | intent(in) | :: | enabled |
.true. (the default) allows the fast path. |
subroutine parquet_set_sort_radix_path(enabled) logical, intent(in) :: enabled !! .true. (the default) allows the fast path. cfg_sort_radix_path = enabled end subroutine parquet_set_sort_radix_path