#10479: Use funtools.partial instead of django.utils.functional.curry
-----------------------------+----------------------------------------------
Reporter: sebastian_noack | Owner: nobody
Status: new | Milestone:
Component: Uncategorized | Version: 1.0
Keywords: | Stage: Unreviewed
Has_patch: 0 |
-----------------------------+----------------------------------------------
Django's curry method is just an implementation of Python 2.5's (and
above) partial class from the functools module. But because of
functools.partial is implemented as C extension, it is way faster than
django's implementation.
{{{
# python2.5 -m timeit -s 'from django.utils.functional import curry; f =
curry(lambda x: x, "foo")' 'f()'
100000 loops, best of 3: 2.27 usec per loop
# python2.5 -m timeit -s 'from functools import partial; f =
partial(lambda x: x, "foo")' 'f()'
1000000 loops, best of 3: 0.417 usec per loop
}}}
So, is there a reason for not using partial instead of curry on Python2.5
and above? We could introduce a funccompat module and use it the same way
as the itercompat module for example.
--
Ticket URL: <http://code.djangoproject.com/ticket/10479>
Django <http://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Django updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/django-updates?hl=en
-~----------~----~----~----~------~----~------~--~---