]> granicus.if.org Git - python/commit
bpo-28638: Optimize namedtuple() creation time by minimizing use of exec() (#3454)
authorRaymond Hettinger <rhettinger@users.noreply.github.com>
Sun, 10 Sep 2017 17:23:36 +0000 (10:23 -0700)
committerGitHub <noreply@github.com>
Sun, 10 Sep 2017 17:23:36 +0000 (10:23 -0700)
commit8b57d7363916869357848e666d03fa7614c47897
treece2c871ab523dbbf05bd80ee9dcfd1f2534d5798
parent3cedf46cdbeefc019f4a672c1104f3d5e94712bd
bpo-28638: Optimize namedtuple() creation time by minimizing use of exec() (#3454)

* Working draft without _source

* Re-use itemgetter() instances

* Speed-up calls to __new__() with a pre-bound tuple.__new__()

* Add note regarding string interning

* Remove unnecessary create function wrappers

* Minor sync-ups with PR-2736.  Mostly formatting and f-strings

* Bring-in qualname/__module fix-ups from PR-2736

* Formally remove the verbose flag and _source attribute

* Restore a test of potentially problematic field names

* Restore kwonly_args test but without the verbose option

* Adopt Inada's idea to reuse the docstrings for the itemgetters

* Neaten-up a bit

* Add news blurb

* Serhiy pointed-out the need for interning

* Jelle noticed as missing f on an f-string

* Add whatsnew entry for feature removal

* Accede to request for dict literals instead keyword arguments

* Leave the method.__module__ attribute pointing the actual location of the code

* Improve variable names and add a micro-optimization for an non-public helper function

* Simplify by in-lining reuse_itemgetter()

* Arrange steps in more logical order

* Save docstring in local cache instead of interning
Doc/library/collections.rst
Doc/whatsnew/3.7.rst
Lib/collections/__init__.py
Lib/test/test_collections.py
Misc/NEWS.d/next/Library/2017-09-08-14-31-15.bpo-28638.lfbVyH.rst [new file with mode: 0644]