Message273456
I justed optimized partial_call() for positional arguments in the change c1a698edfa1b to avoid the creation of a temporary tuple when possible.
I noticed that keyword parameters from partial() constructor are always copied. Is it mandatory? Can't we avoid copying them?
Example:
---
import functools
hello = functools.partial(print, "Hello World", end='!\n')
hello()
---
hello keyword arguments are {'end'; '!\n'}.
Attached patch avoids copying keyword arguments when the partial objects is not called with new keyword arguments.
Tests pass, but I don't know if there is a risk that some strange function modify keyword arguments in-place? |
|
Date |
User |
Action |
Args |
2016-08-23 14:34:03 | vstinner | set | recipients:
+ vstinner, rhettinger, serhiy.storchaka |
2016-08-23 14:34:03 | vstinner | set | messageid: <1471962843.41.0.64844621448.issue27840@psf.upfronthosting.co.za> |
2016-08-23 14:34:03 | vstinner | link | issue27840 messages |
2016-08-23 14:34:03 | vstinner | create | |
|