mirror of
https://github.com/python/cpython.git
synced 2025-07-19 17:25:54 +00:00
bpo-40521: Make tuple free list per-interpreter (GH-20247)
Each interpreter now has its own tuple free lists: * Move tuple numfree and free_list arrays into PyInterpreterState. * Define PyTuple_MAXSAVESIZE and PyTuple_MAXFREELIST macros in pycore_interp.h. * Add _Py_tuple_state structure. Pass it explicitly to tuple_alloc(). * Add tstate parameter to _PyTuple_ClearFreeList() * Each interpreter now has its own empty tuple singleton.
This commit is contained in:
parent
dc24b8a2ac
commit
69ac6e58fd
7 changed files with 82 additions and 62 deletions
|
@ -1252,7 +1252,9 @@ finalize_interp_types(PyThreadState *tstate, int is_main_interp)
|
|||
if (is_main_interp) {
|
||||
/* Sundry finalizers */
|
||||
_PyFrame_Fini();
|
||||
_PyTuple_Fini();
|
||||
}
|
||||
_PyTuple_Fini(tstate);
|
||||
if (is_main_interp) {
|
||||
_PyList_Fini();
|
||||
_PySet_Fini();
|
||||
_PyBytes_Fini();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue