Skip to content

Conversation

@pawelmhm
Copy link
Collaborator

@pawelmhm pawelmhm commented Jun 11, 2021

Reasons.

  1. bsddb3 is deprecated after Python 3.5
  2. successor to this library is difficult to install on many systems
  3. dbm is Python standard library, should work on all platforms

Effect:

We can support all Python versions between 3.5 ad 3.9, tests pass on versions of Python > 3.5.

TODO

  • run benchmark to see how dbm compares with bsddb3 in terms of performance

@pawelmhm
Copy link
Collaborator Author

After running benchmarks there is no degradation in performance. Actually dbm is better than berkeley DB. I used berkeleydb python package for testing, which claims to continue bsddb3, I had to build both python berkeley and OS berkeleyDB from source on llinux, ubuntu 20.04

benchmark file is in repo in tests directory for everyone to reproduce and for future tests. Median time for berkeley db 120 ms on master branch, median dfor dbm 94 ms.

Branch results:

branch

Master results (with berkeleydb):

master

@pawelmhm pawelmhm merged commit 7ed3e53 into master Sep 20, 2021
@pawelmhm pawelmhm deleted the replace-bsddb3-with-dbm branch September 20, 2021 06:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants