Description
xref some discussion #40171 (comment)
libreduction and the associated callers are a disproportionate maintenance headache [citation needed]. It would be nice to be able to rip it out and just have one path for those methods, but that would entail a non-trivial performance hit. Recently, though, we've managed to optimize the pure-python path a bit, and im optimistic we can shave off some more of the difference.
The question: how much of a perf penalty are we willing to accept in order to remove libreduction?
Copying from #40171 (comment)
I'll throw out a number: if we could get worst-case down to within about 3x and most-cases within 1.5x, I'd be open to removing the cython paths. They are a disproportionate producer of headaches. (From #36459 (possibly out of date) "entirely disabling the cython path leads to 4 currently-xfailed tests passing")
Besides which, if/when cython3 becomes available, we may have to get rid of these anyway.