Or, more specifically, inplace_stable_sort, from libcxx. I’ve been working on a hybrid in-place merge sort for a few weeks, using a paper called “Ratio based in-place stable merging” from 2008, and it resulted in a design that’s 3-15x faster than inplace_stable_sort and 80-90% of the speed of stable_sort, while using O(1) memory. I have all of the details up on the project page, including C++ code that directly benchmarks and validates against stable_sort.
Is there someone in particular I should speak to about it? It’s not exactly a minor change.
I don't know if this is up to date, but the CODE_OWNERS.TXT file at
the top level of the llvm source suggests that Marshall Clow is the
code owner for libc++. But in general I think just having it on the
cfe-commits mailing list is probably the best way to garner feedback
and move it forward.
Thank you, David. I'll post on there asking for feedback.
Thank you, although it’s actually only called once at the start of the function. It performs a bottom-up merge on that power-of-two size. I wasn’t sure if libc++ already had a function for that so I just kept the one from the C port.