-
Notifications
You must be signed in to change notification settings - Fork 12
Description
Moving crumsort-related commentary from here (for anyone following along, this issue has some previous discussion).
I got distcrum to maintain candidates so it can augment them from one step to the next. The switch to a more accurate count with a square root approximation was a significant speedup, and even improves on median_of_twentyfive (so I removed it; maybe median of 15 could still be useful). After that the candidate-maintaining version is about the same, but only because I'm stuck sorting all candidates instead of sorting the new ones then merging. The commented out blit_merge_block call, with cnt rather than cnt + npiv in the quadsort before it, causes segfaults. partial_backward_merge doesn't seem to have the same problem, but of course with large enough arrays it tries to use more swap space than there is, and also segfaults.