https://github.com/sile/ekvsb
Benchmark Tool for Embedded Key-Value Stores available in Rust
https://github.com/sile/ekvsb
benchmark embedded-database key-value-store rust
Last synced: 6 months ago
JSON representation
Benchmark Tool for Embedded Key-Value Stores available in Rust
- Host: GitHub
- URL: https://github.com/sile/ekvsb
- Owner: sile
- License: mit
- Created: 2018-09-28T15:50:41.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-02-18T11:19:18.000Z (almost 2 years ago)
- Last Synced: 2024-05-03T01:26:03.217Z (almost 2 years ago)
- Topics: benchmark, embedded-database, key-value-store, rust
- Language: Rust
- Homepage:
- Size: 137 KB
- Stars: 22
- Watchers: 3
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ekvsb
=====
[](https://crates.io/crates/ekvsb)
[](https://docs.rs/ekvsb)
[](https://travis-ci.org/sile/ekvsb)
[](LICENSE)
Benchmark Tool for Embedded Key-Value Stores available in Rust
Supported Key-Value Stores
--------------------------
- [HashMap](https://doc.rust-lang.org/std/collections/struct.HashMap.html) (volatile)
- [BTreeMap](https://doc.rust-lang.org/std/collections/struct.BTreeMap.html) (volatile)
- [FileSystem](https://docs.rs/ekvsb/0/ekvsb/kvs/struct.FileSystemKvs.html)
- [RocksDB](https://crates.io/crates/rocksdb)
- [Sled](https://crates.io/crates/sled)
- [CannyLS](https://crates.io/crates/cannyls)
Installation
------------
```console
# For RocksDB (on Debian)
$ sudo apt install libclang1
$ export C_INCLUDE_PATH=/usr/lib/gcc/x86_64-linux-gnu/6/include/
$ cargo install ekvsb
```
Examples
--------
```console
$ ekvsb workload put --count 100000 --value-size 1KiB | ekvsb run rocksdb /tmp/rocksdb | ekvsb summary
{
"oks": 100000,
"errors": 0,
"elapsed": 1.5015379999996445,
"ops": 66598.38112656734,
"latency": {
"min": 9e-6,
"median": 0.000013,
"p95": 0.000023,
"p99": 0.000055,
"max": 0.004956
}
}
```