Ok, @CaptainGiraffe these are my results

max-heap is done with keys from the most significant to the least significant digit.

self-balancing heap | radix

6-8 mic irrespective of string size | 17mic avg - 148mic avg (relative to string size

) some caveats I had to reduce the size of your strings so I could get Radix to work correctly. Using stable_partition implementation of radix ran on average 17mic. Using buckets (vectors) to do the comparisons I got 148mic avg. As expected the longer the strings the worse the performance. The heap ran faster and more consistently never deviating from …