Proposal: SQLite multiprocess backend #368
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Following up on #367, I decided to try out whether it'd be feasible to add an SQLite backend for multiprocess values.
It's generally a little slower writing values, but a whole lot faster reading them out, especially when there are many PIDs! (Full disclosure, though: I'm only emulating multiple processes by hacking
os.getpid()
in my test bench, so these numbers could be off in a real-life situation.) See below for results.(Come to think of it, another avenue to investigate, if SQLite is considered too heavy-handed, would be some sort of append-only structure of files that can be easily collated and merged.)