feat: very minimal code that adds b-tree to the codebase (#1596)

* feat: very minimal code that adds b-tree to the codebase

The motivation to have our own b-tree to repalce zskiplist is shown by #1567
Based on the results we should greatly reduce the memory overhead per item when using a modern b-tree.

Currently the functionality supports Insert method only to reduce the review complexity.
The design decisions behind the data structure are described in src/core/detail/btree_internal.h

* chore: rewrote template logic for internal classes

---------
Signed-off-by: Roman Gershman <roman@dragonflydb.io>
This commit is contained in:
Roman Gershman 2023-07-31 13:40:27 +03:00 committed by GitHub
parent fba0800081
commit 723cc623c2
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
5 changed files with 878 additions and 1 deletions

View file

@ -26,7 +26,7 @@ namespace {
atomic_uint64_t op_seq{1};
[[maybe_unused]] constexpr size_t kTransSize = sizeof(Transaction);
constexpr size_t kTransSize [[maybe_unused]] = sizeof(Transaction);
} // namespace