summaryrefslogtreecommitdiffstats
path: root/Include/dictobject.h
diff options
context:
space:
mode:
authorAntoine Pitrou <solipsis@pitrou.net>2009-03-23 18:41:45 (GMT)
committerAntoine Pitrou <solipsis@pitrou.net>2009-03-23 18:41:45 (GMT)
commitf8387af2620b2e02ceac856e08786429a913adb5 (patch)
tree28d9ca7a2f538e80fc9d6b00a22cea40b9941a33 /Include/dictobject.h
parente5b78563b6f394e69d87ee68cc82c173c95dfa0b (diff)
downloadcpython-f8387af2620b2e02ceac856e08786429a913adb5.zip
cpython-f8387af2620b2e02ceac856e08786429a913adb5.tar.gz
cpython-f8387af2620b2e02ceac856e08786429a913adb5.tar.bz2
Issue #4688: Add a heuristic so that tuples and dicts containing only
untrackable objects are not tracked by the garbage collector. This can reduce the size of collections and therefore the garbage collection overhead on long-running programs, depending on their particular use of datatypes. (trivia: this makes the "binary_trees" benchmark from the Computer Language Shootout 40% faster)
Diffstat (limited to 'Include/dictobject.h')
-rw-r--r--Include/dictobject.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/Include/dictobject.h b/Include/dictobject.h
index b83cd0e..06e0a7e 100644
--- a/Include/dictobject.h
+++ b/Include/dictobject.h
@@ -111,6 +111,7 @@ PyAPI_FUNC(PyObject *) PyDict_Copy(PyObject *mp);
PyAPI_FUNC(int) PyDict_Contains(PyObject *mp, PyObject *key);
PyAPI_FUNC(int) _PyDict_Contains(PyObject *mp, PyObject *key, long hash);
PyAPI_FUNC(PyObject *) _PyDict_NewPresized(Py_ssize_t minused);
+PyAPI_FUNC(void) _PyDict_MaybeUntrack(PyObject *mp);
/* PyDict_Update(mp, other) is equivalent to PyDict_Merge(mp, other, 1). */
PyAPI_FUNC(int) PyDict_Update(PyObject *mp, PyObject *other);