On 8/24/06, Fredrik Lundh <[EMAIL PROTECTED]> 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 _______________________________________________ Python-3000 mailing list [email protected] http://mail.python.org/mailman/listinfo/python-3000 Unsubscribe: http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com
