#storage-api #bitcask #bit-cask

nightly drum

A bitcask inspired storage api for rust

6 releases

Uses old Rust 2015

0.4.4 Feb 7, 2016
0.4.3 Feb 6, 2016
0.2.1 Oct 15, 2015
0.1.0 Oct 13, 2015

#9 in #bitcask

MIT/Apache

11KB
253 lines

Drum

MIT licensed Apache licensed Build Status

A BitCask inspired storage API for Rust.

Drum is 100% safe code:

$ ack unsafe src | wc
       0       0       0

Performance

See the bottom of the readme for benchmarks, so far the numbers look like:

Disk

  • 810,000 reads/sec
  • 480,000 writes/sec

Memory

  • 11,600,000 reads/sec
  • 5,100,000 writes/sec
running 9 tests
test tests::bench_insert ... ok
test tests::keys ... ok
test tests::insert_get ... ok
test tests::multiple_insert ... ok
test tests::bench_get ... ok
test tests::insert_remove ... ok
test tests::bench_file_get ... ok
test tests::reopen ... ok
test tests::bench_file_insert ... ok

test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured
test tests::bench_file_get    ... bench:       1,236 ns/iter (+/- 157)
test tests::bench_file_insert ... bench:       2,092 ns/iter (+/- 304)
test tests::bench_get         ... bench:          86 ns/iter (+/- 6)
test tests::bench_insert      ... bench:         196 ns/iter (+/- 22)

License

Licensed under either of

at your option.

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.

Dependencies

~1.5MB
~38K SLoC