On Sun, Mar 5, 2017 at 11:31 PM Tim Peters <tim.pet...@gmail.com> wrote:
> > The best approach is indeed to pass the function pointer to every > location that needs it. Note that a MergeState struct is already > created per sort invocation, That isn't a file global for much the > same reason. > Right. It's a real shame, because the patch as it stands right now is extremely surgical, but there's clearly no way around it. There are some functions that don't take in MergeState (e.g. gallop_left) but that call ISLT/IFLT, so I think I'll just add a compare function pointer parameter to all the function calls. I mean, the diff will be a lot hairier, which might make the patch more difficult to review, but when it comes down to it the code complexity won't really increase, so overall I don't think this is the end of the world. Thanks so much for pointing this out! P.S. Is it OK if I close my current issue on the bug tracker and open a new issue, where I'll post the revised patch? The writing on my current issue uses the old, less-rigorous benchmarks, and I feel it would be less confusing if I just made a new issue and posted the correct benchmarks/discussion at the top. The current issue doesn't have many comments, so not much would be lost by just linking to it from the new issue. If this violates bug tracker etiquette, however, :) I'll just post the revised patch on my current issue.
_______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/