Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slightly modify kvdk_engine_unsorted to improve performance, also fix some compiler warning. #9

Open
wants to merge 4 commits into
base: kvdk_engine_unsorted
Choose a base branch
from

Conversation

ZiyanShi
Copy link

What's changed

  1. Set C++ standard to C++17 in CMakeLists.txt to allow unittest.cpp to include <filesystem> header.
  2. Change default parameters of KVDK engine.
    2.1. pmem_segment_blocks determines the maximum size of a key-value pair. Setting the parameter to 1024 allows the engine to store key-value pair of maximum size of approximately 64KB.
    2.2. hash_bucket_num is a critical parameter for performance tuning. KVDK engine currently does not support rehashing. With the load factor increasing, time for looking up a key will increase linearly accordingly. Load factor can be estimated by kv-pairs/(hash_bucket_num*7). Load factor 0.7 is suggested for best performance and DRAM utilization. In other words, it's recommended to set hash_bucket_num to kv-pairs/5. A larger parameter will not improve performance much, but will cost more DRAM.
  3. Remove unused local variable, as the compiler will complain.

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.

2 participants