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

Reply via email to