cpython/Objects
Yurii Karabas 7301979b23
bpo-42202: Store func annotations as a tuple (GH-23316)
Reduce memory footprint and improve performance of loading modules having many func annotations.

  >>> sys.getsizeof({"a":"int","b":"int","return":"int"})
  232
  >>> sys.getsizeof(("a","int","b","int","return","int"))
  88

The tuple is converted into dict on the fly when `func.__annotations__` is accessed first.

Co-authored-by: Serhiy Storchaka <storchaka@gmail.com>
Co-authored-by: Inada Naoki <songofacandy@gmail.com>
2020-11-25 19:43:18 +09:00
..
clinic bpo-42246: Partial implementation of PEP 626. (GH-23113) 2020-11-12 09:43:29 +00:00
stringlib bpo-38252: Use 8-byte step to detect ASCII sequence in 64bit Windows build (GH-16334) 2020-10-18 17:48:38 +03:00
README
abstract.c bpo-42085: Introduce dedicated entry in PyAsyncMethods for sending values (#22780) 2020-11-10 12:09:55 -08:00
accu.c bpo-35081: Move accu.h to Include/internal/pycore_accu.h (GH-10271) 2018-11-01 02:30:36 +01:00
boolobject.c bpo-41870: Avoid the test when nargs=0 (GH-22462) 2020-10-01 13:50:40 +09:00
bytearrayobject.c bpo-42435: Speed up comparison of bytes and bytearray object (GH--23461) 2020-11-22 22:00:53 +02:00
bytes_methods.c bpo-38252: Use 8-byte step to detect ASCII sequence in 64bit Windows build (GH-16334) 2020-10-18 17:48:38 +03:00
bytesobject.c bpo-42435: Speed up comparison of bytes and bytearray object (GH--23461) 2020-11-22 22:00:53 +02:00
call.c bpo-41078: Rename pycore_tupleobject.h to pycore_tuple.h (GH-21056) 2020-06-22 17:27:35 +02:00
capsule.c bpo-40170: PyObject_NEW() becomes an alias to PyObject_New() (GH-19379) 2020-04-08 00:38:15 +02:00
cellobject.c bpo-40268: Remove unused pycore_pymem.h includes (GH-19531) 2020-04-15 02:57:50 +02:00
classobject.c bpo-40268: Remove unused pycore_pymem.h includes (GH-19531) 2020-04-15 02:57:50 +02:00
codeobject.c bpo-42246: Partial implementation of PEP 626. (GH-23113) 2020-11-12 09:43:29 +00:00
complexobject.c bpo-42161: Use _PyLong_GetZero() and _PyLong_GetOne() (GH-22995) 2020-10-27 02:24:34 +01:00
descrobject.c bpo-41078: Rename pycore_tupleobject.h to pycore_tuple.h (GH-21056) 2020-06-22 17:27:35 +02:00
dict-common.h
dictnotes.txt
dictobject.c bpo-42152: Use PyDict_Contains and PyDict_SetDefault if appropriate. (GH-22986) 2020-10-26 12:47:57 +02:00
enumobject.c bpo-42161: Use _PyLong_GetZero() and _PyLong_GetOne() (GH-22995) 2020-10-27 02:24:34 +01:00
exceptions.c bpo-42425: Fix possible leak in initialization of errmap for OSError (GH-23446) 2020-11-21 19:17:46 +02:00
fileobject.c bpo-41985: Add _PyLong_FileDescriptor_Converter and AC converter for "fildes". (GH-22620) 2020-10-09 23:00:45 +03:00
floatobject.c bpo-42161: Use _PyLong_GetZero() and _PyLong_GetOne() (GH-22995) 2020-10-27 02:24:34 +01:00
frameobject.c bpo-42246: Partial implementation of PEP 626. (GH-23113) 2020-11-12 09:43:29 +00:00
funcobject.c bpo-42202: Store func annotations as a tuple (GH-23316) 2020-11-25 19:43:18 +09:00
genericaliasobject.c bpo-42332: Add weakref slot to types.GenericAlias (GH-23250) 2020-11-15 19:27:23 -08:00
genobject.c bpo-42085: Introduce dedicated entry in PyAsyncMethods for sending values (#22780) 2020-11-10 12:09:55 -08:00
interpreteridobject.c bpo-40302: Replace PY_INT64_T with int64_t (GH-19573) 2020-04-17 19:13:06 +02:00
iterobject.c bpo-40268: Remove unused pycore_pymem.h includes (GH-19531) 2020-04-15 02:57:50 +02:00
listobject.c Fix typo in Object/listobject.c (GH-21079) 2020-06-29 21:56:56 +03:00
listsort.txt Fixes in sorting descriptions (GH-18317) 2020-02-03 08:47:20 -08:00
lnotab_notes.txt bpo-42246: Partial implementation of PEP 626. (GH-23113) 2020-11-12 09:43:29 +00:00
longobject.c bpo-42161: Remove private _PyLong_Zero and _PyLong_One (GH-23003) 2020-10-27 21:34:33 +01:00
memoryobject.c bpo-41732: add iterator to memoryview (GH-22119) 2020-09-08 16:28:45 +09:00
methodobject.c bpo-42015: Reorder dereferencing calls in meth_dealloc, to make sure m_self is kept alive long enough (GH-22670) 2020-10-13 00:06:19 +03:00
moduleobject.c bpo-42006: Stop using PyDict_GetItem, PyDict_GetItemString and _PyDict_GetItemId. (GH-22648) 2020-10-26 08:43:39 +02:00
namespaceobject.c bpo-39075: types.SimpleNamespace no longer sorts attributes in its repr (GH-19430) 2020-05-15 18:27:54 -07:00
object.c bpo-40170: Hide impl detail of Py_TRASHCAN_BEGIN macro (GH-23235) 2020-11-24 23:03:31 +01:00
obmalloc.c bpo-40943: Replace PY_FORMAT_SIZE_T with "z" (GH-20781) 2020-06-10 18:38:05 +02:00
odictobject.c bpo-41333: Convert OrderedDict.pop() to Argument Clinic (GH-21534) 2020-07-19 09:18:55 +03:00
picklebufobject.c bpo-36785: PEP 574 implementation (GH-7076) 2019-05-26 17:10:09 +02:00
rangeobject.c bpo-42161: Use _PyLong_GetZero() and _PyLong_GetOne() (GH-22995) 2020-10-27 02:24:34 +01:00
setobject.c bpo-42006: Stop using PyDict_GetItem, PyDict_GetItemString and _PyDict_GetItemId. (GH-22648) 2020-10-26 08:43:39 +02:00
sliceobject.c bpo-42161: Use _PyLong_GetZero() and _PyLong_GetOne() (GH-22995) 2020-10-27 02:24:34 +01:00
structseq.c bpo-42423: Accept single base class in PyType_FromModuleAndSpec() (GH-23441) 2020-11-22 13:25:02 +02:00
tupleobject.c bpo-40521: Always create the empty tuple singleton (GH-21116) 2020-06-24 15:21:54 +02:00
typeobject.c bpo-42423: Accept single base class in PyType_FromModuleAndSpec() (GH-23441) 2020-11-22 13:25:02 +02:00
typeslots.inc bpo-41073: PyType_GetSlot() can now accept static types. (GH-21931) 2020-11-10 12:53:46 -08:00
typeslots.py bpo-41073: PyType_GetSlot() can now accept static types. (GH-21931) 2020-11-10 12:53:46 -08:00
unicodectype.c
unicodeobject.c bpo-40998: Address compiler warnings found by ubsan (GH-20929) 2020-11-18 07:38:53 -08:00
unicodetype_db.h closes bpo-39926: Update Unicode to 13.0.0. (GH-18910) 2020-03-10 20:41:34 -07:00
unionobject.c bpo-42233: Add union type expression support for GenericAlias and fix de-duplicating of GenericAlias (GH-23077) 2020-11-08 20:00:13 -08:00
weakrefobject.c bpo-40523: Add pass-throughs for hash() and reversed() to weakref.proxy objects (GH-19946) 2020-05-05 22:58:19 +01:00

README

Source files for various builtin objects