-
-
Notifications
You must be signed in to change notification settings - Fork 54
Expand file tree
/
Copy pathfree-threading-python.po
More file actions
355 lines (304 loc) · 12.2 KB
/
free-threading-python.po
File metadata and controls
355 lines (304 loc) · 12.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2025, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2025.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.13\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-10-11 20:40+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: ko\n"
"Language-Team: ko <LL@li.org>\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: ../../howto/free-threading-python.rst:5
msgid "Python support for free threading"
msgstr ""
#: ../../howto/free-threading-python.rst:7
msgid ""
"Starting with the 3.13 release, CPython has support for a build of Python"
" called :term:`free threading` where the :term:`global interpreter lock` "
"(GIL) is disabled. Free-threaded execution allows for full utilization "
"of the available processing power by running threads in parallel on "
"available CPU cores. While not all software will benefit from this "
"automatically, programs designed with threading in mind will run faster "
"on multi-core hardware."
msgstr ""
#: ../../howto/free-threading-python.rst:14
msgid ""
"The free-threaded mode is working and continues to be improved, but there"
" is some additional overhead in single-threaded workloads compared to the"
" regular build. Additionally, third-party packages, in particular ones "
"with an :term:`extension module`, may not be ready for use in a free-"
"threaded build, and will re-enable the :term:`GIL`."
msgstr ""
#: ../../howto/free-threading-python.rst:20
msgid ""
"This document describes the implications of free threading for Python "
"code. See :ref:`freethreading-extensions-howto` for information on how "
"to write C extensions that support the free-threaded build."
msgstr ""
#: ../../howto/free-threading-python.rst:26
msgid ""
":pep:`703` – Making the Global Interpreter Lock Optional in CPython for "
"an overall description of free-threaded Python."
msgstr ""
#: ../../howto/free-threading-python.rst:31
msgid "Installation"
msgstr ""
#: ../../howto/free-threading-python.rst:33
msgid ""
"Starting with Python 3.13, the official macOS and Windows installers "
"optionally support installing free-threaded Python binaries. The "
"installers are available at https://www.python.org/downloads/."
msgstr ""
#: ../../howto/free-threading-python.rst:37
msgid ""
"For information on other platforms, see the `Installing a Free-Threaded "
"Python <https://py-free-threading.github.io/installing-cpython/>`_, a "
"community-maintained installation guide for installing free-threaded "
"Python."
msgstr ""
#: ../../howto/free-threading-python.rst:41
msgid ""
"When building CPython from source, the :option:`--disable-gil` configure "
"option should be used to build a free-threaded Python interpreter."
msgstr ""
#: ../../howto/free-threading-python.rst:46
msgid "Identifying free-threaded Python"
msgstr ""
#: ../../howto/free-threading-python.rst:48
msgid ""
"To check if the current interpreter supports free-threading, "
":option:`python -VV <-V>` and :data:`sys.version` contain \"free-"
"threading build\". The new :func:`sys._is_gil_enabled` function can be "
"used to check whether the GIL is actually disabled in the running "
"process."
msgstr ""
#: ../../howto/free-threading-python.rst:53
msgid ""
"The ``sysconfig.get_config_var(\"Py_GIL_DISABLED\")`` configuration "
"variable can be used to determine whether the build supports free "
"threading. If the variable is set to ``1``, then the build supports free"
" threading. This is the recommended mechanism for decisions related to "
"the build configuration."
msgstr ""
#: ../../howto/free-threading-python.rst:60
msgid "The global interpreter lock in free-threaded Python"
msgstr ""
#: ../../howto/free-threading-python.rst:62
msgid ""
"Free-threaded builds of CPython support optionally running with the GIL "
"enabled at runtime using the environment variable :envvar:`PYTHON_GIL` or"
" the command-line option :option:`-X gil`."
msgstr ""
#: ../../howto/free-threading-python.rst:66
msgid ""
"The GIL may also automatically be enabled when importing a C-API "
"extension module that is not explicitly marked as supporting free "
"threading. A warning will be printed in this case."
msgstr ""
#: ../../howto/free-threading-python.rst:70
msgid ""
"In addition to individual package documentation, the following websites "
"track the status of popular packages support for free threading:"
msgstr ""
#: ../../howto/free-threading-python.rst:73
msgid "https://py-free-threading.github.io/tracking/"
msgstr ""
#: ../../howto/free-threading-python.rst:74
msgid "https://hugovk.github.io/free-threaded-wheels/"
msgstr ""
#: ../../howto/free-threading-python.rst:78
msgid "Thread safety"
msgstr ""
#: ../../howto/free-threading-python.rst:80
msgid ""
"The free-threaded build of CPython aims to provide similar thread-safety "
"behavior at the Python level to the default GIL-enabled build. Built-in "
"types like :class:`dict`, :class:`list`, and :class:`set` use internal "
"locks to protect against concurrent modifications in ways that behave "
"similarly to the GIL. However, Python has not historically guaranteed "
"specific behavior for concurrent modifications to these built-in types, "
"so this should be treated as a description of the current implementation,"
" not a guarantee of current or future behavior."
msgstr ""
#: ../../howto/free-threading-python.rst:91
msgid ""
"It's recommended to use the :class:`threading.Lock` or other "
"synchronization primitives instead of relying on the internal locks of "
"built-in types, when possible."
msgstr ""
#: ../../howto/free-threading-python.rst:97
msgid "Known limitations"
msgstr ""
#: ../../howto/free-threading-python.rst:99
msgid ""
"This section describes known limitations of the free-threaded CPython "
"build."
msgstr ""
#: ../../howto/free-threading-python.rst:102
msgid "Immortalization"
msgstr ""
#: ../../howto/free-threading-python.rst:104
msgid ""
"The free-threaded build of the 3.13 release makes some objects "
":term:`immortal`. Immortal objects are not deallocated and have reference"
" counts that are never modified. This is done to avoid reference count "
"contention that would prevent efficient multi-threaded scaling."
msgstr ""
#: ../../howto/free-threading-python.rst:109
msgid ""
"An object will be made immortal when a new thread is started for the "
"first time after the main thread is running. The following objects are "
"immortalized:"
msgstr ""
#: ../../howto/free-threading-python.rst:112
msgid ":ref:`function <user-defined-funcs>` objects declared at the module level"
msgstr ""
#: ../../howto/free-threading-python.rst:113
msgid ":ref:`method <instance-methods>` descriptors"
msgstr ""
#: ../../howto/free-threading-python.rst:114
msgid ":ref:`code <code-objects>` objects"
msgstr ""
#: ../../howto/free-threading-python.rst:115
msgid ":term:`module` objects and their dictionaries"
msgstr ""
#: ../../howto/free-threading-python.rst:116
msgid ":ref:`classes <classes>` (type objects)"
msgstr ""
#: ../../howto/free-threading-python.rst:118
msgid ""
"Because immortal objects are never deallocated, applications that create "
"many objects of these types may see increased memory usage. This is "
"expected to be addressed in the 3.14 release."
msgstr ""
#: ../../howto/free-threading-python.rst:122
msgid ""
"Additionally, numeric and string literals in the code as well as strings "
"returned by :func:`sys.intern` are also immortalized. This behavior is "
"expected to remain in the 3.14 free-threaded build."
msgstr ""
#: ../../howto/free-threading-python.rst:128
msgid "Frame objects"
msgstr ""
#: ../../howto/free-threading-python.rst:130
msgid ""
"It is not safe to access :ref:`frame <frame-objects>` objects from other "
"threads and doing so may cause your program to crash . This means that "
":func:`sys._current_frames` is generally not safe to use in a free-"
"threaded build. Functions like :func:`inspect.currentframe` and "
":func:`sys._getframe` are generally safe as long as the resulting frame "
"object is not passed to another thread."
msgstr ""
#: ../../howto/free-threading-python.rst:138
msgid "Iterators"
msgstr ""
#: ../../howto/free-threading-python.rst:140
msgid ""
"Sharing the same iterator object between multiple threads is generally "
"not safe and threads may see duplicate or missing elements when iterating"
" or crash the interpreter."
msgstr ""
#: ../../howto/free-threading-python.rst:146
msgid "Single-threaded performance"
msgstr ""
#: ../../howto/free-threading-python.rst:148
#, python-format
msgid ""
"The free-threaded build has additional overhead when executing Python "
"code compared to the default GIL-enabled build. In 3.13, this overhead "
"is about 40% on the `pyperformance "
"<https://pyperformance.readthedocs.io/>`_ suite. Programs that spend most"
" of their time in C extensions or I/O will see less of an impact. The "
"largest impact is because the specializing adaptive interpreter "
"(:pep:`659`) is disabled in the free-threaded build. We expect to re-"
"enable it in a thread-safe way in the 3.14 release. This overhead is "
"expected to be reduced in upcoming Python release. We are aiming for an"
" overhead of 10% or less on the pyperformance suite compared to the "
"default GIL-enabled build."
msgstr ""
#: ../../howto/free-threading-python.rst:161
msgid "Behavioral changes"
msgstr ""
#: ../../howto/free-threading-python.rst:163
msgid ""
"This section describes CPython behavioural changes with the free-threaded"
" build."
msgstr ""
#: ../../howto/free-threading-python.rst:168
msgid "Context variables"
msgstr ""
#: ../../howto/free-threading-python.rst:170
msgid ""
"In the free-threaded build, the flag "
":data:`~sys.flags.thread_inherit_context` is set to true by default which"
" causes threads created with :class:`threading.Thread` to start with a "
"copy of the :class:`~contextvars.Context()` of the caller of "
":meth:`~threading.Thread.start`. In the default GIL-enabled build, the "
"flag defaults to false so threads start with an empty "
":class:`~contextvars.Context()`."
msgstr ""
#: ../../howto/free-threading-python.rst:180
msgid "Warning filters"
msgstr ""
#: ../../howto/free-threading-python.rst:182
msgid ""
"In the free-threaded build, the flag "
":data:`~sys.flags.context_aware_warnings` is set to true by default. In "
"the default GIL-enabled build, the flag defaults to false. If the flag "
"is true then the :class:`warnings.catch_warnings` context manager uses a "
"context variable for warning filters. If the flag is false then "
":class:`~warnings.catch_warnings` modifies the global filters list, which"
" is not thread-safe. See the :mod:`warnings` module for more details."
msgstr ""
#~ msgid "Python experimental support for free threading"
#~ msgstr ""
#~ msgid ""
#~ "Starting with the 3.13 release, CPython"
#~ " has experimental support for a build"
#~ " of Python called :term:`free threading`"
#~ " where the :term:`global interpreter lock`"
#~ " (GIL) is disabled. Free-threaded "
#~ "execution allows for full utilization of"
#~ " the available processing power by "
#~ "running threads in parallel on available"
#~ " CPU cores. While not all software"
#~ " will benefit from this automatically, "
#~ "programs designed with threading in mind"
#~ " will run faster on multi-core "
#~ "hardware."
#~ msgstr ""
#~ msgid ""
#~ "**The free-threaded mode is "
#~ "experimental** and work is ongoing to"
#~ " improve it: expect some bugs and "
#~ "a substantial single-threaded performance "
#~ "hit."
#~ msgstr ""
#~ msgid ""
#~ "For information on other platforms, see"
#~ " the `Installing a Free-Threaded "
#~ "Python <https://py-free-"
#~ "threading.github.io/installing_cpython/>`_, a "
#~ "community-maintained installation guide for "
#~ "installing free-threaded Python."
#~ msgstr ""
#~ msgid ""
#~ "To check if the current interpreter "
#~ "supports free-threading, :option:`python -VV"
#~ " <-V>` and :data:`sys.version` contain "
#~ "\"experimental free-threading build\". The "
#~ "new :func:`sys._is_gil_enabled` function can "
#~ "be used to check whether the GIL"
#~ " is actually disabled in the running"
#~ " process."
#~ msgstr ""