Bryan Thompson

Results 9 issues of Bryan Thompson

Leaves store keys in the current implementation: https://github.com/laurynas-biveinis/unodb/blob/c5b3de2df9b1720c23a41a234f82bb4edf56fae6/art_internal_impl.hpp#L93 This is Ok for fixed size keys such as uint32_t or uint64_t, but it becomes very wasteful when using string keys.

Add support for at least u64 values.

This has a dependency on https://github.com/laurynas-biveinis/unodb/issues/612 to stop storing the key in the leaf.

Template the db, mutex_db, and olc_db classes to support a caller specified allocator.

With the refactor to make the Key a template argument, we should not go to a header only library. Refactor the CMake and CI as required to achieve this outcome....

See https://github.com/laurynas-biveinis/unodb/issues/601#issuecomment-2587206097 for some benchmark numbers. The initial focus should be on unodb::db::iterator::next(). The issue is likely the lack of SIMD for the internal operations supporting next(). Top hot spots...

N48 tends to be difficult to hit. See https://github.com/laurynas-biveinis/unodb/blob/f896f776fc760d377c8eaaeb5cf56aab0f953bdd/test/test_art.cpp#L304-L354 and add iterator / scan operations into these tests to improve the code coverage in a focused manner.

There is a configuration option for an empty spin wait loop body. And when not specified calling it will call ```_mm_pause();```. However, it would be best to have an adaptive...

Implement a bulk index build. This supports both operational workloads and would make the larger scale benchmarks much faster.