- Notifications
You must be signed in to change notification settings - Fork24
Support the free-threaded build#54
Conversation
* tweak comments* Simplify critical sections* avoid resource leak
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
This module would greatly benefit from a RWLock.
Might be worth adding an issue for follow-up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others.Learn more.
I'd rather only do that if this shows up as a performance bottleneck.
Co-authored-by: Guido Imperiale <crusaderky@gmail.com>
ngoldbaum commentedNov 17, 2025
I went ahead and added a couple sentences to the readme along with the comments@crusaderky suggested. |
ngoldbaum commentedNov 18, 2025
OK, let's merge this. Rather than doing a release ASAP with cp314t wheels, we're going to first set up nightly wheels (scientific-python/upload-nightly-action#146) and then set up nightly testing for packages like spaCy further up the stack. Once the full stack is working, we'll do coordinated releases of all the packages including cp314t wheels. |
9699a34 intoexplosion:v3.0.xUh oh!
There was an error while loading.Please reload this page.
Adds support for the free-threaded build.
I made
BloomFilterandPreshedMapthread-safe under the free-threaded build using critical sections. I also added tests for multithreaded sharing ofBloomFilterandPreshedMap.The other types are not used by spaCy so I don't think it's worth updating them. Ideally I'd document this somewhere, but this project has very minimal docs, so it's not clear where I'd put that.
There's also a few changes included that aren't strictly related to free-threaded support:
bloom.pxdarray.arrayin theBloomFilterserialization. This is substantially faster and makes the multithreaded test I added substantially faster.