-
-
Notifications
You must be signed in to change notification settings - Fork 18.4k
Release the GIL in Cython code #8882
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
FYI: scinkit-image just did this in scikit-image/scikit-image#1519. |
It happened surprisingly quickly in their case. I think that it was mostly the result of an afternoon sprint of a couple developers followed by a couple days of cleanup. |
@cpcloud did some prelim work on this. I don't think its too difficult. Just requires some effort. |
Indeed, it mostly just takes a little bit of testing work. Glad to see this being done! For what it's worth, I looked into releasing the GIL a little bit in the hashtable/index API as part of my IntervalIndex work (#8707). The main stumbling block I encountered was |
* commit 'v0.16.2-65-g054821d': TST: 32-test fixes BUG: GH9907 generate_range when start and end have higher resolution than offset TST/CLN: remove assert_isinstance PERF: releasing the GIL, pandas-dev#8882 PERF: vbenches for pandas-dev#8882, releasing the GIL
Pandas could release the GIL in parts of the Cython code. This would enable the parallel use of multiple cores with threading.
From off-line conversation with @jreback @cpcloud
http://lbolla.info/blog/2013/12/23/python-threads-cython-gil
The text was updated successfully, but these errors were encountered: