-
Notifications
You must be signed in to change notification settings - Fork 124
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
Docs updates - multithreading/process recommendations + strikethrough of disk serialization #307
base: master
Are you sure you want to change the base?
Conversation
I don't understand why we're adding docs to say "Disk serialization is broken" with a pointer to a PR that updates something that shouldn't break it instead of just fixing the thing. |
Is your issue that I've linked to the wrong PR/issue? Or more that we're updating the docs instead of fixing the problem? I can help with the former but not sure I know how to fix the latter. |
Correct. Is there a ticket that clearly demonstrates the issue? I don't think we can categorically say disk serialization doesn't work. Maybe it doesn't work for you and your situation, but we would be flooded with tickets if it was broken more generally. |
I know pickling doesn't work (which means multiprocessing doesn't work on macOS/Windows): #87 |
pickling isn't the same as "supports disk serialization". It's always been possible to use Rtree to store whatever data you wanted to with an index entry. That it's not conveniently pickled python objects is orthogonal. |
I didn't know this. The docs give the impression that pickling is synonymous with disk serialisation. Indeed, so does the code.
I genuinely thought the only way to serialize rtree objects to disk was pickle. Or am I not understanding the meaning of "disk serialization"? At the very least, we need to add a snippet under Serializing your index to a file that shows how you write to disk. |
I believe you can pass |
Given the multithreading/processing issues with rtree and libspatialindex, I thought it made sense to add this info to the README (and also the online docs).
Related discussions that inspired my updates: