On Fri, Mar 12, 2021 at 7:58 AM Andres Freund <and...@anarazel.de> wrote: > I wish we had the same for bsearch... :)
Glibc already has the definition of the traditional void-based function in /usr/include/bits/stdlib-bsearch.h, so the generated code when the compiler can see the comparator definition is already good in eg lazy_tid_reaped() and eg some nbtree search routines. We could probably expose more trivial comparators in headers to get more of that, and we could perhaps put our own bsearch definition in a header for other platforms that didn't think of that... It might be worth doing type-safe macro templates as well, though (as I already did in an earlier proposal[1]), just to have nice type safe code though, not sure, I'm thinking about that... [1] https://www.postgresql.org/message-id/flat/CA%2BhUKGLY47Cvu62mFDT53Ya0P95cGggcBN6R6aLpx6%3DGm5j%2B1A%40mail.gmail.com