Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.maint.python > #17188
| Path | csiph.com!weretis.net!feeder8.news.weretis.net!srl.newsdeef.eu!news.corradoroberto.it!gothmog.csi.it!bofh.it!news.nic.it!robomod |
|---|---|
| From | Matthias Klose <doko@debian.org> |
| Newsgroups | linux.debian.bugs.dist, linux.debian.maint.python |
| Subject | Bug#1117718: Introducing Free-Threaded Python to Debian |
| Date | Sat, 22 Nov 2025 13:00:01 +0100 |
| Message-ID | <LTUrv-eT9U-1@gated-at.bofh.it> (permalink) |
| References | <LEg30-45La-5@gated-at.bofh.it> <LRMHL-dqif-5@gated-at.bofh.it> <LEg30-45La-5@gated-at.bofh.it> <LRMHL-dqif-5@gated-at.bofh.it> |
| X-Mailbox-Line | From debian-bugs-dist-request@lists.debian.org Sat Nov 22 11:53:11 2025 |
| Old-Return-Path | <debbugs@buxtehude.debian.org> |
| X-Spam-Flag | NO |
| X-Spam-Score | -1.9 |
| Reply-To | Matthias Klose <doko@debian.org>, 1117718@bugs.debian.org |
| Resent-To | debian-bugs-dist@lists.debian.org |
| Resent-Cc | doko@debian.org |
| X-Debian-Pr-Message | followup 1117718 |
| X-Debian-Pr-Package | python3.14 |
| X-Debian-Pr-Source | python3.14 |
| Old-X-Envelope-From | doko@debian.org |
| MIME-Version | 1.0 |
| User-Agent | Mozilla Thunderbird |
| Content-Language | en-US |
| Content-Type | text/plain; charset=UTF-8; format=flowed |
| Content-Transfer-Encoding | 7bit |
| X-Debian-Message | from BTS |
| X-Mailing-List | <debian-bugs-dist@lists.debian.org> archive/latest/1938058 |
| List-ID | <debian-bugs-dist.lists.debian.org> |
| List-URL | <https://lists.debian.org/debian-bugs-dist/> |
| Approved | robomod@news.nic.it |
| Lines | 112 |
| Organization | linux.* mail to news gateway |
| Sender | robomod@news.nic.it |
| X-Original-Cc | stefanor@debian.org |
| X-Original-Date | Sat, 22 Nov 2025 12:52:23 +0100 |
| X-Original-Message-ID | <ebe8d9dd-91fe-4972-bb11-4d6a6c5baeec@debian.org> |
| X-Original-References | <176008092367.3728976.3049611814376216253.reportbug@dedicated.jaerhard.com> <tencent_90380A412A9CA66DA9E5E032F7C661102109@qq.com> <176008092367.3728976.3049611814376216253.reportbug@dedicated.jaerhard.com> <tencent_90380A412A9CA66DA9E5E032F7C661102109@qq.com> |
| Xref | csiph.com linux.debian.bugs.dist:1271156 linux.debian.maint.python:17188 |
Cross-posted to 2 groups.
Show key headers only | View raw
I am not keen introducing this before 3.14 is the default. This way, we can concentrate on the 3.14 transition first. Then we can look at the free-threaded build, and also have a chance to look for regressions. Matthias On 11/16/25 16:16, ben0i0d wrote: > Hello everyone, > In my previous email (https://lists.debian.org/debian-python/2025/11/ > msg00002.html), I introduced my work on bringing free-threaded Python to > Debian. I'm now pleased to announce that the integration of nogil with > the GIL version has been successfully completed and has passed necessary > testing. > Benefits of Introducing Free-Threaded Python: > 1.Significant improvement in multi-threaded parallel performance > 2.No need to migrate to multiprocessing or alternative languages - > currently multiprocessing is required to utilize multi-core performance, > but it comes with substantial overhead > 3.Reduced maintenance burden for C/C++ extensions - currently complex > GIL management or custom thread pools are needed to work around the GIL > 4.Alignment with future direction - PEP 703 has been accepted, and > upstream has confirmed that No-GIL will be the default in the future > Current Progress: > A merge request has been opened on salsa: https://salsa.debian.org/ > cpython-team/python3/-/merge_requests/41 > An immediately testable package repository is available at: https:// > salsa.debian.org/ben0i0d/python3t-repo > The related Debian Bug report (#1117718) is also relevant to this work. > Design Decisions: > Based on discussions with Stefano, the current approach: > -Maintains isolated standard libraries > -Does NOT isolate dist-packages > -Is not a separate new package, but rather a variant of python3 > My guiding principle remains: introducing free-threaded Python should > not create new problems, break existing functionality, or hinder > anyone's work. > Technical Implementation Details: > Key changes in python3.14: > 1.Introduced ABI variant control: 'ABI_VARIANTS := gil nogil', with '-- > disable-gil --with-suffix=t' enabled for nogil > (Note: '--enable-experimental-jit' cannot be used with '--disable-gil') > 2.Build system optimization: Implemented duplication of nogil tasks via > '$(foreach abi,$(ABI_VARIANTS),$(eval $(call BUILD_STATIC,$(abi))))' to > avoid code redundancy > 3.Test adjustments: Added 'TEST_EXCLUDES += test_tools' since 'Tools/ > freeze/test/Makefile' uses hardcoded 'python' > 4.venv fix: Added 'add-abiflags-sitepackages.diff' to fix venv > sitepackages recognition after nogil build (this issue has been fixed > upstream and the patch will be removed after 3.14.1 release) > 5.Minimal installation: The nogil version excludes documentation, idle, > tk, desktop, binfmt, etc., ensuring it's an extension rather than a > rewrite of the original python3 > 6.Code readability: Made harmless text adjustments to rules file, such > as consolidating scattered 'TEST_EXCLUDES +=' statements > Build Process: > git clone git@salsa.debian.org:ben0i0d/python3t.git > cd python3t > git checkout python3 > uscan --download-current-version --verbose > dpkg-source -b . > sudo env DEB_BUILD_OPTIONS="nocheck nobench" pbuilder build ../ > python3.14_3.14.0-5.dsc 2>&1 | tee ../log.txt > Test Environment: > -OS: Debian GNU/Linux forky/sid (forky) x86_64 > -CPU: AMD Ryzen 5 9600X (12) @ 5.68 GHz > -Memory: 30.47 GiB > -Kernel: 6.16.12+deb14+1-amd64 > Test Results: > 1.Basic Performance Test > # GIL version, single-threaded > python3.14 benchmark.py --n 512 --threads 1 > Elapsed: 1.836 s > # GIL version, 8 threads > python3.14 benchmark.py --n 512 --threads 8 > Elapsed: 2.026 s > # nogil version, single-threaded > python3.14t benchmark.py --n 512 --threads 1 > Elapsed: 2.408 s > # nogil version, 8 threads > python3.14t benchmark.py --n 512 --threads 8 > Elapsed: 0.674 s > 2.NumPy Compatibility Test > Both versions successfully create virtual environments and install numpy: > GIL environment: > python3.14 -m venv gil > source gil/bin/activate > pip install numpy > # Runs normally, Elapsed: 0.003 s > nogil environment: > python3.14t -m venv nogil > source nogil/bin/activate > pip install numpy > # Runs normally, Elapsed: 0.009 s > Important Notes: > -The GIL version build results are identical to the current master branch > -Building only the GIL version is supported, but building only nogil is > not (ensuring nogil doesn't become default) > -No backport to python3.13 is planned since nogil support there is still > experimental > Regarding dist-packages: > I understand some colleagues have concerns about not isolating dist- > packages. Currently, I recommend users employ the nogil version within > venv environments. I will fully support subsequent migration efforts to > help more people transition smoothly. > The current implementation requires more testing and refinement. I'm not > a CPython expert, so I genuinely welcome valuable suggestions from the > community and commit to actively participating in improvement efforts. > Please refer to the attachments for detailed build logs and test scripts. > I look forward to your feedback! > Best regards, > *Xu Chen (ben0i0d)*
Back to linux.debian.maint.python | Previous | Next — Next in thread | Find similar
Bug#1117718: Introducing Free-Threaded Python to Debian Matthias Klose <doko@debian.org> - 2025-11-22 13:00 +0100
Re: Bug#1117718: Introducing Free-Threaded Python to Debian Jerome Kieffer <Jerome.Kieffer@esrf.fr> - 2025-11-24 13:30 +0100
Re: Bug#1117718: Introducing Free-Threaded Python to Debian Matthias Klose <doko@debian.org> - 2025-11-24 14:30 +0100
csiph-web