@@ -11,7 +11,7 @@ msgid ""
1111msgstr ""
1212"Project-Id-Version : Python 3.14\n "
1313"Report-Msgid-Bugs-To : \n "
14- "POT-Creation-Date : 2025-11-07 14:15 +0000\n "
14+ "POT-Creation-Date : 2025-12-03 14:17 +0000\n "
1515"PO-Revision-Date : 2025-09-16 00:00+0000\n "
1616"Last-Translator : python-doc bot, 2025\n "
1717"Language-Team : Russian (https://app.transifex.com/python-doc/teams/5390/ru/)\n "
@@ -38,107 +38,105 @@ msgstr ""
3838
3939#: ../../howto/free-threading-python.rst:14
4040msgid ""
41- "The free-threaded mode is working and continues to be improved, but there is"
42- " some additional overhead in single-threaded workloads compared to the "
43- "regular build. Additionally, third-party packages, in particular ones with "
44- "an :term:`extension module`, may not be ready for use in a free-threaded "
45- "build, and will re-enable the :term:`GIL`."
41+ "Some third-party packages, in particular ones with an :term:`extension "
42+ "module`, may not be ready for use in a free-threaded build, and will re-"
43+ "enable the :term:`GIL`."
4644msgstr ""
4745
48- #: ../../howto/free-threading-python.rst:20
46+ #: ../../howto/free-threading-python.rst:18
4947msgid ""
5048"This document describes the implications of free threading for Python code."
5149" See :ref:`freethreading-extensions-howto` for information on how to write "
5250"C extensions that support the free-threaded build."
5351msgstr ""
5452
55- #: ../../howto/free-threading-python.rst:26
53+ #: ../../howto/free-threading-python.rst:24
5654msgid ""
5755":pep:`703` – Making the Global Interpreter Lock Optional in CPython for an "
5856"overall description of free-threaded Python."
5957msgstr ""
6058
61- #: ../../howto/free-threading-python.rst:31
59+ #: ../../howto/free-threading-python.rst:29
6260msgid "Installation"
6361msgstr ""
6462
65- #: ../../howto/free-threading-python.rst:33
63+ #: ../../howto/free-threading-python.rst:31
6664msgid ""
6765"Starting with Python 3.13, the official macOS and Windows installers "
6866"optionally support installing free-threaded Python binaries. The installers"
6967" are available at https://www.python.org/downloads/."
7068msgstr ""
7169
72- #: ../../howto/free-threading-python.rst:37
70+ #: ../../howto/free-threading-python.rst:35
7371msgid ""
7472"For information on other platforms, see the `Installing a Free-Threaded "
7573"Python <https://py-free-threading.github.io/installing-cpython/>`_, a "
7674"community-maintained installation guide for installing free-threaded Python."
7775msgstr ""
7876
79- #: ../../howto/free-threading-python.rst:41
77+ #: ../../howto/free-threading-python.rst:39
8078msgid ""
8179"When building CPython from source, the :option:`--disable-gil` configure "
8280"option should be used to build a free-threaded Python interpreter."
8381msgstr ""
8482
85- #: ../../howto/free-threading-python.rst:46
83+ #: ../../howto/free-threading-python.rst:44
8684msgid "Identifying free-threaded Python"
8785msgstr ""
8886
89- #: ../../howto/free-threading-python.rst:48
87+ #: ../../howto/free-threading-python.rst:46
9088msgid ""
9189"To check if the current interpreter supports free-threading, :option:`python"
9290" -VV <-V>` and :data:`sys.version` contain \" free-threading build\" . The new"
9391" :func:`sys._is_gil_enabled` function can be used to check whether the GIL "
9492"is actually disabled in the running process."
9593msgstr ""
9694
97- #: ../../howto/free-threading-python.rst:53
95+ #: ../../howto/free-threading-python.rst:51
9896msgid ""
9997"The ``sysconfig.get_config_var(\" Py_GIL_DISABLED\" )`` configuration variable"
10098" can be used to determine whether the build supports free threading. If the"
10199" variable is set to ``1``, then the build supports free threading. This is "
102100"the recommended mechanism for decisions related to the build configuration."
103101msgstr ""
104102
105- #: ../../howto/free-threading-python.rst:60
103+ #: ../../howto/free-threading-python.rst:58
106104msgid "The global interpreter lock in free-threaded Python"
107105msgstr ""
108106
109- #: ../../howto/free-threading-python.rst:62
107+ #: ../../howto/free-threading-python.rst:60
110108msgid ""
111109"Free-threaded builds of CPython support optionally running with the GIL "
112110"enabled at runtime using the environment variable :envvar:`PYTHON_GIL` or "
113111"the command-line option :option:`-X gil`."
114112msgstr ""
115113
116- #: ../../howto/free-threading-python.rst:66
114+ #: ../../howto/free-threading-python.rst:64
117115msgid ""
118116"The GIL may also automatically be enabled when importing a C-API extension "
119117"module that is not explicitly marked as supporting free threading. A "
120118"warning will be printed in this case."
121119msgstr ""
122120
123- #: ../../howto/free-threading-python.rst:70
121+ #: ../../howto/free-threading-python.rst:68
124122msgid ""
125123"In addition to individual package documentation, the following websites "
126124"track the status of popular packages support for free threading:"
127125msgstr ""
128126
129- #: ../../howto/free-threading-python.rst:73
127+ #: ../../howto/free-threading-python.rst:71
130128msgid "https://py-free-threading.github.io/tracking/"
131129msgstr ""
132130
133- #: ../../howto/free-threading-python.rst:74
131+ #: ../../howto/free-threading-python.rst:72
134132msgid "https://hugovk.github.io/free-threaded-wheels/"
135133msgstr ""
136134
137- #: ../../howto/free-threading-python.rst:78
135+ #: ../../howto/free-threading-python.rst:76
138136msgid "Thread safety"
139137msgstr ""
140138
141- #: ../../howto/free-threading-python.rst:80
139+ #: ../../howto/free-threading-python.rst:78
142140msgid ""
143141"The free-threaded build of CPython aims to provide similar thread-safety "
144142"behavior at the Python level to the default GIL-enabled build. Built-in "
@@ -150,141 +148,98 @@ msgid ""
150148"guarantee of current or future behavior."
151149msgstr ""
152150
153- #: ../../howto/free-threading-python.rst:91
151+ #: ../../howto/free-threading-python.rst:89
154152msgid ""
155153"It's recommended to use the :class:`threading.Lock` or other synchronization"
156154" primitives instead of relying on the internal locks of built-in types, when"
157155" possible."
158156msgstr ""
159157
160- #: ../../howto/free-threading-python.rst:97
158+ #: ../../howto/free-threading-python.rst:95
161159msgid "Known limitations"
162160msgstr ""
163161
164- #: ../../howto/free-threading-python.rst:99
162+ #: ../../howto/free-threading-python.rst:97
165163msgid ""
166164"This section describes known limitations of the free-threaded CPython build."
167165msgstr ""
168166
169- #: ../../howto/free-threading-python.rst:102
167+ #: ../../howto/free-threading-python.rst:100
170168msgid "Immortalization"
171169msgstr ""
172170
173- #: ../../howto/free-threading-python.rst:104
171+ #: ../../howto/free-threading-python.rst:102
174172msgid ""
175- "The free-threaded build of the 3.13 release makes some objects "
176- ":term:`immortal`. Immortal objects are not deallocated and have reference "
177- "counts that are never modified. This is done to avoid reference count "
178- "contention that would prevent efficient multi-threaded scaling."
173+ "In the free-threaded build, some objects are :term:`immortal`. Immortal "
174+ "objects are not deallocated and have reference counts that are never "
175+ "modified. This is done to avoid reference count contention that would "
176+ "prevent efficient multi-threaded scaling."
179177msgstr ""
180178
181- #: ../../howto/free-threading-python.rst:109
182- msgid ""
183- "An object will be made immortal when a new thread is started for the first "
184- "time after the main thread is running. The following objects are "
185- "immortalized:"
179+ #: ../../howto/free-threading-python.rst:107
180+ msgid "As of the 3.14 release, immortalization is limited to:"
186181msgstr ""
187182
188- #: ../../howto/free-threading-python.rst:112
183+ #: ../../howto/free-threading-python.rst:109
189184msgid ""
190- ":ref:`function <user-defined-funcs>` objects declared at the module level"
191- msgstr ""
192-
193- #: ../../howto/free-threading-python.rst:113
194- msgid ":ref:`method <instance-methods>` descriptors"
185+ "Code constants: numeric literals, string literals, and tuple literals "
186+ "composed of other constants."
195187msgstr ""
196188
197- #: ../../howto/free-threading-python.rst:114
198- msgid ":ref:`code <code-objects>` objects "
189+ #: ../../howto/free-threading-python.rst:111
190+ msgid "Strings interned by :func:`sys.intern`. "
199191msgstr ""
200192
201193#: ../../howto/free-threading-python.rst:115
202- msgid ":term:`module` objects and their dictionaries"
203- msgstr ""
204-
205- #: ../../howto/free-threading-python.rst:116
206- msgid ":ref:`classes <classes>` (type objects)"
207- msgstr ""
208-
209- #: ../../howto/free-threading-python.rst:118
210- msgid ""
211- "Because immortal objects are never deallocated, applications that create "
212- "many objects of these types may see increased memory usage under Python "
213- "3.13. This has been addressed in the 3.14 release, where the aforementioned"
214- " objects use deferred reference counting to avoid reference count "
215- "contention."
216- msgstr ""
217-
218- #: ../../howto/free-threading-python.rst:123
219- msgid ""
220- "Additionally, numeric and string literals in the code as well as strings "
221- "returned by :func:`sys.intern` are also immortalized in the 3.13 release. "
222- "This behavior is part of the 3.14 release as well and it is expected to "
223- "remain in future free-threaded builds."
224- msgstr ""
225-
226- #: ../../howto/free-threading-python.rst:130
227194msgid "Frame objects"
228195msgstr ""
229196
230- #: ../../howto/free-threading-python.rst:132
197+ #: ../../howto/free-threading-python.rst:117
231198msgid ""
232- "It is not safe to access :ref:`frame <frame-objects>` objects from other "
233- "threads and doing so may cause your program to crash . This means that "
234- ":func:`sys._current_frames` is generally not safe to use in a free-threaded "
235- "build. Functions like :func:`inspect.currentframe` and "
236- ":func:`sys._getframe` are generally safe as long as the resulting frame "
237- "object is not passed to another thread."
199+ "It is not safe to access :attr:`frame.f_locals` from a :ref:`frame <frame-"
200+ "objects>` object if that frame is currently executing in another thread, and"
201+ " doing so may crash the interpreter."
238202msgstr ""
239203
240- #: ../../howto/free-threading-python.rst:140
204+ #: ../../howto/free-threading-python.rst:123
241205msgid "Iterators"
242206msgstr ""
243207
244- #: ../../howto/free-threading-python.rst:142
208+ #: ../../howto/free-threading-python.rst:125
245209msgid ""
246- "Sharing the same iterator object between multiple threads is generally not "
247- "safe and threads may see duplicate or missing elements when iterating or "
248- "crash the interpreter ."
210+ "It is generally not thread-safe to access the same iterator object from "
211+ "multiple threads concurrently, and threads may see duplicate or missing "
212+ "elements ."
249213msgstr ""
250214
251- #: ../../howto/free-threading-python.rst:148
215+ #: ../../howto/free-threading-python.rst:131
252216msgid "Single-threaded performance"
253217msgstr ""
254218
255- #: ../../howto/free-threading-python.rst:150
219+ #: ../../howto/free-threading-python.rst:133
256220msgid ""
257221"The free-threaded build has additional overhead when executing Python code "
258- "compared to the default GIL-enabled build. In 3.13, this overhead is about "
259- "40% on the `pyperformance <https://pyperformance.readthedocs.io/>`_ suite. "
260- "Programs that spend most of their time in C extensions or I/O will see less "
261- "of an impact. The largest impact is because the specializing adaptive "
262- "interpreter (:pep:`659`) is disabled in the free-threaded build."
222+ "compared to the default GIL-enabled build. The amount of overhead depends "
223+ "on the workload and hardware. On the pyperformance benchmark suite, the "
224+ "average overhead ranges from about 1% on macOS aarch64 to 8% on x86-64 Linux"
225+ " systems."
263226msgstr ""
264227
265- #: ../../howto/free-threading-python.rst:157
266- msgid ""
267- "The specializing adaptive interpreter has been re-enabled in a thread-safe "
268- "way in the 3.14 release. The performance penalty on single-threaded code in"
269- " free-threaded mode is now roughly 5-10%, depending on the platform and C "
270- "compiler used."
271- msgstr ""
272-
273- #: ../../howto/free-threading-python.rst:164
228+ #: ../../howto/free-threading-python.rst:141
274229msgid "Behavioral changes"
275230msgstr ""
276231
277- #: ../../howto/free-threading-python.rst:166
232+ #: ../../howto/free-threading-python.rst:143
278233msgid ""
279234"This section describes CPython behavioural changes with the free-threaded "
280235"build."
281236msgstr ""
282237
283- #: ../../howto/free-threading-python.rst:171
238+ #: ../../howto/free-threading-python.rst:148
284239msgid "Context variables"
285240msgstr ""
286241
287- #: ../../howto/free-threading-python.rst:173
242+ #: ../../howto/free-threading-python.rst:150
288243msgid ""
289244"In the free-threaded build, the flag "
290245":data:`~sys.flags.thread_inherit_context` is set to true by default which "
@@ -295,11 +250,11 @@ msgid ""
295250":class:`~contextvars.Context()`."
296251msgstr ""
297252
298- #: ../../howto/free-threading-python.rst:183
253+ #: ../../howto/free-threading-python.rst:160
299254msgid "Warning filters"
300255msgstr ""
301256
302- #: ../../howto/free-threading-python.rst:185
257+ #: ../../howto/free-threading-python.rst:162
303258msgid ""
304259"In the free-threaded build, the flag "
305260":data:`~sys.flags.context_aware_warnings` is set to true by default. In the"
0 commit comments