bee icon indicating copy to clipboard operation
bee copied to clipboard

feat: pebbleDB

Open martinconic opened this issue 10 months ago • 2 comments

Checklist

  • [ ] I have read the coding guide.
  • [ ] My change requires a documentation update, and I have done it.
  • [ ] I have added tests to cover my changes.
  • [ ] I have filled out the description and linked the related issues.

Description

a draft PR that attempts to introduce pebbleDB to Bee

Open API Spec Version Changes (if applicable)

Motivation and Context (Optional)

Related Issue (Optional)

Screenshots (if appropriate):

martinconic avatar Feb 10 '25 17:02 martinconic

LevelDB Benchmarks:

cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz

BenchmarkStore/WriteSequential-12                 766509              1562 ns/op            1605 B/op          8 allocs/op
BenchmarkStore/WriteRandom/parallelism-1-12               668485              4347 ns/op            3067 B/op          9 allocs/op
BenchmarkStore/WriteRandom/parallelism-2-12               320804              5577 ns/op            4745 B/op         17 allocs/op
BenchmarkStore/WriteRandom/parallelism-4-12               128544              8824 ns/op            6383 B/op         29 allocs/op
BenchmarkStore/WriteRandom/parallelism-8-12                62862             18511 ns/op           10507 B/op         51 allocs/op
BenchmarkStore/WriteRandom/parallelism-16-12               30756             37281 ns/op           19000 B/op         95 allocs/op
BenchmarkStore/WriteRandom/parallelism-32-12               15895             76544 ns/op           34408 B/op        177 allocs/op
BenchmarkStore/WriteRandom/parallelism-64-12                6836            165874 ns/op           69288 B/op        343 allocs/op
BenchmarkStore/WriteRandom/parallelism-128-12               2612            439050 ns/op          134023 B/op        672 allocs/op
BenchmarkStore/WriteRandom/parallelism-256-12               1101           1061460 ns/op          226021 B/op       1352 allocs/op
BenchmarkStore/WriteRandom/parallelism-512-12                514           2337603 ns/op          436263 B/op       2666 allocs/op
BenchmarkStore/WriteRandom/parallelism-1024-12               240           4910533 ns/op          887899 B/op       5424 allocs/op
BenchmarkStore/WriteRandom/parallelism-2048-12                96          10607842 ns/op         1675891 B/op      10900 allocs/op
BenchmarkStore/ReadSequential-12                          931981              3243 ns/op            1833 B/op         20 allocs/op
BenchmarkStore/ReadRandom-12                              419954              6139 ns/op            1221 B/op         23 allocs/op
BenchmarkStore/ReadRandomMissing-12                      1591248               739.4 ns/op           208 B/op          7 allocs/op
BenchmarkStore/ReadReverse-12                            1000000              3066 ns/op            1839 B/op         20 allocs/op
BenchmarkStore/ReadRedHot-12                              636456              3068 ns/op            1810 B/op         20 allocs/op
BenchmarkStore/DeleteRandom
BenchmarkStore/DeleteRandom-12                            790999              2151 ns/op             815 B/op          6 allocs/op
BenchmarkStore/DeleteSequential-12                        912534              1266 ns/op             641 B/op          6 allocs/op

BenchmarkBatchedStore/WriteInBatches-12                  1000000              7598 ns/op           28379 B/op          5 allocs/op
BenchmarkBatchedStore/WriteInFixedSizeBatches-12                 1000000              1350 ns/op            1814 B/op          5 allocs/op
BenchmarkBatchedStore/DeleteInBatches-12                         1000000              1611 ns/op            4279 B/op          3 allocs/op
BenchmarkBatchedStore/DeleteInFixedSizeBatches-12                1589077               813.9 ns/op           674 B/op          3 allocs/op

martinconic avatar Feb 10 '25 17:02 martinconic

Pebble DB Benchmarks:

cpu: Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz

BenchmarkStore/WriteSequential-12                1016307              1253 ns/op             972 B/op          5 allocs/op
BenchmarkStore/WriteRandom/parallelism-1-12               744579              3312 ns/op            2584 B/op          5 allocs/op
BenchmarkStore/WriteRandom/parallelism-2-12               434683              3721 ns/op            3504 B/op         10 allocs/op
BenchmarkStore/WriteRandom/parallelism-4-12               347684              5930 ns/op            5764 B/op         20 allocs/op
BenchmarkStore/WriteRandom/parallelism-8-12               159745              9719 ns/op            8959 B/op         40 allocs/op
BenchmarkStore/WriteRandom/parallelism-16-12               88035             13221 ns/op           15464 B/op         80 allocs/op
BenchmarkStore/WriteRandom/parallelism-32-12               48186             25384 ns/op           28630 B/op        160 allocs/op
BenchmarkStore/WriteRandom/parallelism-64-12               23620             51116 ns/op           55602 B/op        321 allocs/op
BenchmarkStore/WriteRandom/parallelism-128-12               9968            109432 ns/op          111579 B/op        643 allocs/op
BenchmarkStore/WriteRandom/parallelism-256-12               4554            248988 ns/op          213301 B/op       1286 allocs/op
BenchmarkStore/WriteRandom/parallelism-512-12               2306            505326 ns/op          417995 B/op       2573 allocs/op
BenchmarkStore/WriteRandom/parallelism-1024-12              1113           1017587 ns/op          836480 B/op       5148 allocs/op
BenchmarkStore/WriteRandom/parallelism-2048-12               572           1995219 ns/op         1683077 B/op      10306 allocs/op
BenchmarkStore/ReadSequential-12                          143052             16371 ns/op            1074 B/op          6 allocs/op
BenchmarkStore/ReadRandom-12                               73815             16307 ns/op             247 B/op          5 allocs/op
BenchmarkStore/ReadRandomMissing-12                        44856             23171 ns/op             280 B/op          6 allocs/op
BenchmarkStore/ReadReverse-12                            1000000              9675 ns/op             662 B/op          5 allocs/op
BenchmarkStore/ReadRedHot-12                             1000000              9586 ns/op             657 B/op          5 allocs/op
BenchmarkStore/DeleteRandom
BenchmarkStore/DeleteRandom-12                            855506              1472 ns/op             868 B/op          3 allocs/op
BenchmarkStore/DeleteSequential-12                       1000000              1020 ns/op             471 B/op          3 allocs/op

BenchmarkBatchedStore/WriteInBatches-12                  1000000              1362 ns/op            2027 B/op          5 allocs/op
BenchmarkBatchedStore/WriteInFixedSizeBatches-12                 2151156               475.5 ns/op          1257 B/op          5 allocs/op
BenchmarkBatchedStore/DeleteInBatches-12                         6074997               287.1 ns/op           320 B/op          3 allocs/op
BenchmarkBatchedStore/DeleteInFixedSizeBatches-12                4655187               282.9 ns/op           256 B/op          3 allocs/op

martinconic avatar Feb 10 '25 17:02 martinconic

Closing this to focus on improving LevelDB performance through configuration tuning.

martinconic avatar Sep 10 '25 07:09 martinconic