Skip to content

Latest commit

 

History

History
67 lines (50 loc) · 1.77 KB

CONTRIBUTING.md

File metadata and controls

67 lines (50 loc) · 1.77 KB

Get Started

Setup VS Code and Docker development environment

LeanStore requires libaio, c++23. It's recommended to develop the project inside a docker container for convenience, which can be built from this Dockerfile.

For VS Code, it's recommended to install the "C/C++ Extension Pack" and "clangd" plugins.

Get the code, build and run

git clone [email protected]:zz-jason/leanstore.git
cd leanstore

vcpkg is used to manage dependencies, all the dependencies can be found in vcpkg.json. CMakePresets.json is used to manage common build configs. You can choose one of these cmake presets when open the project in VS Code. To compile LeanStore in debug mode:

cmake --preset debug
cmake --build build/debug

To run unittests in the debug mode:

ctest --test-dir build/debug

To check and fix code formatting with clang-format-18:

# check format
cmake --build build/debug --target=check-format

# fix format
cmake --build build/debug --target=format

To run simple ycsb benchmarks:

./build/debug/benchmarks/ycsb/ycsb \
  --ycsb_threads=8 \
  --ycsb_record_count=100000 \
  --ycsb_workload=c \
  --ycsb_run_for_seconds=600 \
  --ycsb_target=basickv

Commit and submit a pull request

Conventional Commits is used for pull request titles, all the available types can be found in conventional-commits.yml.