News for hackers. Stuff that matters.
Re:Hoare’s Rebuttal and Bubble Sort’s Comeback by gerbenst on Sunday January 30, 2022 @12:14PM (#30138922)
it's not difficult to swap the pivot with the last element and have the compiler figure out it can keep pivot in register most of the time.
Re:Hoare’s Rebuttal and Bubble Sort’s Comeback by CJefferson on Sunday January 30, 2022 @12:29PM (#30139084)
I agree with the first part -- I implemented the movable std::sort for g++, and I found it very hard to convince the compiler to keep the pivot in a register (although I did write it over 10 years ago, maybe the compiler would do a better job by now!)
Re:Hoare’s Rebuttal and Bubble Sort’s Comeback by gerbenst on Sunday January 30, 2022 @12:55PM (#30139367)
https://godbolt.org/z/zPWr73qjc

Here is an implementation. This should work with all types. Unfortunate I had to annotate with restrict, but a small price to pay.

Re:Hoare’s Rebuttal and Bubble Sort’s Comeback by CJefferson on Sunday January 30, 2022 @02:38PM (#30140346)
I think life gets harder when you have to deal with iterators, and have to use iterator::reference (which might not be a raw C++ reference, although it almost always is in practice).