Files
turso/core/mvcc
Pekka Enberg 9247e44324 Minimize library binary size
Shrinks binary size from 319K to 282K.
2023-04-14 14:07:49 +03:00
..
2023-04-14 10:46:08 +02:00
2023-04-14 14:02:02 +03:00
2023-04-14 09:53:57 +02:00
2023-04-14 14:07:49 +03:00
2023-04-08 15:14:05 +03:00
2023-04-14 13:52:55 +03:00

MVCC for Rust

This is a work-in-progress the Hekaton optimistic multiversion concurrency control library in Rust. The aim of the project is to provide a building block for implementing database management systems.

Features

  • Main memory architecture, rows are accessed via an index
  • Optimistic multi-version concurrency control

Development

Run tests:

cargo test

Test coverage report:

cargo tarpaulin -o html

Run benchmarks:

cargo bench

Run benchmarks and generate flamegraphs:

echo -1 | sudo tee /proc/sys/kernel/perf_event_paranoid
cargo bench --bench my_benchmark -- --profile-time=5

References

Larson et al. High-Performance Concurrency Control Mechanisms for Main-Memory Databases. VLDB '11