]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
[3.14] gh-146041: Avoid lock in sys.intern() for already interned strings (gh-146072...
authorSam Gross <colesbury@gmail.com>
Wed, 25 Mar 2026 01:42:19 +0000 (21:42 -0400)
committerGitHub <noreply@github.com>
Wed, 25 Mar 2026 01:42:19 +0000 (21:42 -0400)
commitf2b5131d1a4dca1a2046e9e28dabca19858fa57f
treee3bd05faa4c2d2e502a4ff27c847bdba79c4da80
parent58c5eda24c330c48186ab20ce53adef4ea04745c
[3.14] gh-146041: Avoid lock in sys.intern() for already interned strings (gh-146072) (#146390)

Fix free-threading scaling bottleneck in sys.intern and `PyObject_SetAttr` by
avoiding the interpreter-wide lock when the string is already interned and
immortalized.

(cherry picked from commit 60093096ba62110151d822b072a01061876e9404)
InternalDocs/string_interning.md
Misc/NEWS.d/next/Core_and_Builtins/2026-03-17-00-00-00.gh-issue-146041.7799bb.rst [new file with mode: 0644]
Objects/object.c
Objects/unicodeobject.c
Tools/ftscalingbench/ftscalingbench.py