Docs updates - multithreading/process recommendations + strikethrough of disk serialization#307
Docs updates - multithreading/process recommendations + strikethrough of disk serialization#307codeananda wants to merge 4 commits intoToblerity:mainfrom
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: