[Python-3000] Droping find/rfind? (original) (raw)

Neal Norwitz nnorwitz at gmail.com
Thu Aug 24 16:25:04 CEST 2006


On 8/24/06, Fredrik Lundh <fredrik at pythonware.com> wrote:

(which reminds me that speeding up handling of optional arguments to C functions would be an even better use of this energy)

If this patch: http://python.org/sf/1107887 is integrated with some of my current work, it should do the job nicely. IIRC the patch uses a big switch which sped things up, but Raymond didn't like it (I think more on a conceptual basis). I don't think it slowed things down measurably.

My new approach has been to add a C function pointer to PyCFunction and some other 'function' objects that can dispatch to an appropriate function in ceval.c that does the right thing. I define a bunch of little methods that are determined when the function is created and only does what's necessary depending on the ml_flags. It could be expanded to look at other things. The current work hasn't produced any measurable changes in perf, but I've only gotten rid of a few comparisons and/or a possible function call (if it isn't inlined). If I merge these two approaches, I should be able to be able to speed up cases like you describe.

n



More information about the Python-3000 mailing list