woonhak / bztree

An open-source BzTree implementation

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BzTree

An open-source BzTree implementation

https://dl.acm.org/citation.cfm?id=3164147

Build

Use PMDK

mkdir build & cd build
cmake -DPMEM_BACKEND=PMDK ..

Volatile only

mkdir build & cd build
cmake -DPMEM_BACKEND=VOLATILE ..

Other build options

-DPMEM_BACKEND=EMU to emulate persistent memory using DRAM

-DGOOGLE_FRAMEWORK=0 if you're not comfortable with google frameworks (gtest/glog/gflags)

-DBUILD_TESTS=0 to build shared library only (without tests)

-DMAX_FREEZE_RETRY=n to set max freeze retry times, default to 1, check the original paper for details

-DENABLE_MERGE=1 to enable merge after delete, this is disabled by default, check the original paper for details.

Benchmark on PiBench

Checkout PiBench here: https://github.com/wangtzh/pibench

Build/Create BzTree shared lib

mkdir Release & cd Release
cmake -DCMAKE_BUILD_TYPE=Release -DPMEM_BACKEND=${BACKEND} -DGOOGLE_FRAMEWORK=0 -DBUILD_TESTS=0 ..

About

An open-source BzTree implementation

License:MIT License


Languages

Language:C++ 91.9%Language:CMake 8.1%