Dramatic acceleration of get-operations by mdbx_cache_get() API.
#314
erthink
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
The essence of this "caching" is to check as quickly as possible whether the data has changed or not, including with early exit when searching though a b-tree.
At the same time, on the user's side, the minimal version information is stored in the
MDBX_cache_entry_tstructure, along with the offset to the "cached" data inside the memory-mapped database file.Thus, instead of a full b-tree search, a minimum number of actions are performed, and the search stops when it reaches a database page that has not been modified after the last check. All together, it provides dramatic acceleration up to several tens of thousands of times.
In early 2026 the
get-cachedfeature is ready and covered with tests an, including all cases of insertion/updating/remove of entries in a concurrently shared lock-free cache.All reactions