cpython/Modules/clinic
Pablo Galindo 3f5fc70c62 bpo-32492: 1.6x speed up in namedtuple attribute access using C fast-path (#10495)
* bpo-32492: 2.5x speed up in namedtuple attribute access using C fast path

* Add News entry

* fixup! bpo-32492: 2.5x speed up in namedtuple attribute access using C fast path

* Check for tuple in the __get__ of the new descriptor and don't cache the descriptor itself

* Don't inherit from property. Implement GC methods to handle __doc__

* Add a test for the docstring substitution in descriptors

* Update NEWS entry to reflect time against 3.7 branch

* Simplify implementation with argument clinic, better error messages, only __new__

* Use positional-only parameters for the __new__

* Use PyTuple_GET_SIZE and PyTuple_GET_ITEM to tighter the implementation of tuplegetterdescr_get

* Implement __set__ to make tuplegetter a data descriptor

* Use Py_INCREF now that we inline PyTuple_GetItem

* Apply the valid_index() function, saving one test

* Move Py_None test out of the critical path.
2018-12-30 01:24:03 -08:00
..
_abc.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_asynciomodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_bz2module.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_codecsmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_collectionsmodule.c.h bpo-32492: 1.6x speed up in namedtuple attribute access using C fast-path (#10495) 2018-12-30 01:24:03 -08:00
_contextvarsmodule.c.h bpo-32436: Implement PEP 567 (#5027) 2018-01-22 19:11:18 -05:00
_cryptmodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_curses_panel.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_cursesmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_datetimemodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_dbmmodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_elementtree.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_gdbmmodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_hashopenssl.c.h bpo-20182: AC convert remaining functions/methods in _hashopenssl.c (GH-9213) 2018-12-27 15:43:43 +02:00
_heapqmodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_lzmamodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_opcode.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_operator.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_pickle.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_queuemodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_sre.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_ssl.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_struct.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_tkinter.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
_tracemalloc.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_weakref.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
_winapi.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
arraymodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
audioop.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
binascii.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
cmathmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
fcntlmodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
gcmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
grpmodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
itertoolsmodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
mathmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
md5module.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
posixmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
pwdmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
pyexpat.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
resource.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
selectmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
sha1module.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
sha256module.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
sha512module.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
signalmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
spwdmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
symtablemodule.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
unicodedata.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00
zipimport.c.h bpo-33012: Fix invalid function cast warnings with gcc 8 in Argument Clinic. (GH-6748) 2018-11-27 11:27:36 +02:00
zlibmodule.c.h bpo-23867: Argument Clinic: inline parsing code for a single positional parameter. (GH-9689) 2018-12-25 13:23:47 +02:00