Skip to content

Commit

Permalink
Add the latest benchmark in README
Browse files Browse the repository at this point in the history
  • Loading branch information
devraymondsh authored Jan 7, 2024
1 parent 91a3327 commit ae7d133
Showing 1 changed file with 35 additions and 10 deletions.
45 changes: 35 additions & 10 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,44 @@
What is Kivi?
--------------
Kivi is a high performance in-memory key-value database written in the Zig programming language. Kivi is designed to be embeddable, concurrent, and fast.
Kivi is a high-performance in-memory key-value database written in the Zig programming language. Kivi is designed to be embeddable, concurrent, and fast.

Kivi is currently in development mode and not production ready. Here's a checklist about what things that are ready:
- [x] Getting ready our first version of the core
- [x] Making a JS library for embedding and using the core that works in Node/Deno/Bun
- [ ] Making server in order to provide access over the network
- [ ] Making a client that can access the database over the network
- [ ] Adding access-over-network support to the JS library
- [ ] Making a benchmark that compares performance difference between Kivi and its competitors
- [ ] Start porting to other languages: Rust, Python, etc...
> :warning: **Kivi is currently in development mode and not production-ready.**
## Latest benchmark:
```
JsMap:
┌─────────┬─────────────────┬─────────────────────┬────────────────────┬────────────────────────┬───────────────────┬───────────────────────┐
│ (index) │ totalLookupTime │ totalBulkLookupTime │ totalInsertionTime │ totalBulkInsertionTime │ totalDeletionTime │ totalBulkDeletionTime │
├─────────┼─────────────────┼─────────────────────┼────────────────────┼────────────────────────┼───────────────────┼───────────────────────┤
│ 0 │ '134.17 ms' │ '138.9 ms' │ '155.65 ms' │ '301.3 ms' │ '197.46 ms' │ '215.23 ms' │
│ 1 │ '137.91 ms' │ '135.72 ms' │ '151.54 ms' │ '167.48 ms' │ '242.4 ms' │ '217.72 ms' │
│ average │ '136.04 ms' │ '137.31 ms' │ '153.59 ms' │ '234.39 ms' │ '219.93 ms' │ '216.48 ms' │
└─────────┴─────────────────┴─────────────────────┴────────────────────┴────────────────────────┴───────────────────┴───────────────────────┘
Kivi:
┌─────────┬─────────────────┬─────────────────────┬────────────────────┬────────────────────────┬───────────────────┬───────────────────────┐
│ (index) │ totalLookupTime │ totalBulkLookupTime │ totalInsertionTime │ totalBulkInsertionTime │ totalDeletionTime │ totalBulkDeletionTime │
├─────────┼─────────────────┼─────────────────────┼────────────────────┼────────────────────────┼───────────────────┼───────────────────────┤
│ 0 │ '352.02 ms' │ '774.82 ms' │ '341.96 ms' │ '555.72 ms' │ '346.08 ms' │ '793.16 ms' │
│ 1 │ '353.9 ms' │ '791.95 ms' │ '341.23 ms' │ '543.91 ms' │ '367.19 ms' │ '805.19 ms' │
│ average │ '352.96 ms' │ '783.38 ms' │ '341.59 ms' │ '549.81 ms' │ '356.64 ms' │ '799.18 ms' │
└─────────┴─────────────────┴─────────────────────┴────────────────────┴────────────────────────┴───────────────────┴───────────────────────┘
This table shows how much JsMap is faster than Kivi:
┌───────────────┬─────────┐
│ (index) │ Values │
├───────────────┼─────────┤
│ lookup │ '2.59x' │
│ insertion │ '2.22x' │
│ deletion │ '1.62x' │
│ bulkLookup │ '5.71x' │
│ bulkInsertion │ '2.35x' │
│ bulkDeletion │ '3.69x' │
└───────────────┴─────────┘
```

## Code of conduct:
You can check our [code of conduct guidelines](CODE_OF_CONDUCT.md).

## License:
Kivi is licensed under MIT. Head over to [LICENSE](LICENSE) for full description.
Kivi is licensed under MIT. Head over to [LICENSE](LICENSE) for full description.

0 comments on commit ae7d133

Please sign in to comment.