Support for nogil (Multithreaded Python without the GIL)
See original GitHub issueOverview
I wanted to test if I could build a stand-alone executable with nuitka inside the nogil proof of concept. It produced an error when trying to build a simple print("hello world")
script.
Versions
- nuitka: 0.9.4
- python: nogil-3.9.10
Error Details
See build error inside the CI action logs here: https://github.com/jimkring/nuitka-nogil-testing/runs/7423321112
Nuitka-Scons:INFO: Backend C compiler: gcc (gcc).
In file included from /usr/local/lib/python3.9/site-packages/nuitka/build/include/nuitka/helpers.h:89,
from /usr/local/lib/python3.9/site-packages/nuitka/build/include/nuitka/prelude.h:504,
from __constants.c:2:
/usr/local/lib/python3.9/site-packages/nuitka/build/include/nuitka/exceptions.h: In function 'ERROR_OCCURRED':
/usr/local/lib/python3.9/site-packages/nuitka/build/include/nuitka/exceptions.h:25:29: error: 'struct _gilstate_runtime_state' has no member named 'tstate_current'
How did you install Nuitka and Python?
Installed nuitka with pip inside a nogil/python docker container. See my Dockerfile
Issue Analytics
- State:
- Created a year ago
- Comments:19 (15 by maintainers)
Top Results From Across the Web
colesbury/nogil: Multithreaded Python without the GIL - GitHub
This is a proof-of-concept implementation of CPython that supports multithreading without the global interpreter lock (GIL). An overview of the design is ...
Read more >Mailman 3 Python multithreading without the GIL - Python-Dev
(base) nogil_build% PYTHONPATH=$HOME/tmp ./bin/python3/python3 Python 3.9.0a4+ (heads/nogil:b0ee2c4740, Oct 30 2021, 16:23:03) [GCC 9.3.0] on linux Type "help" ...
Read more >Multithreaded Python without the GIL - Sam Gross - EuroPython
The “nogil” project aims to remove the GIL from CPython to make multithreaded Python programs more efficient, while maintaining backward ...
Read more >What Is the Python GIL and Will They Get Rid of It? - Backblaze
Sam's nogil project aims to support a concurrency sweet spot. It promises that data race conditions will never corrupt Python's virtual machine, ...
Read more >Nogil: Multithreaded Python without the GIL - Morioh
Nogil : Multithreaded Python without the GIL. Python Multithreading without GIL. No-GIL Fork of CPython. This is a proof-of-concept implementation of CPython ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Got it to build with the following patch, but get a segfault when running.
Notice that the MainControl patch moved the command line parsing under Py_Initialize to avoid another segfault due to the python memory allocator not being initialized in time.
Going to have a look, what the memory allocator is being used there, I think we need to know some things early, esp. for multiprocessing.