IntersectMBO / lsm-tree

A Haskell library for on-disk tables based on LSM-trees
Apache License 2.0
24 stars 7 forks source link

Implement arena allocator #293

Closed phadej closed 1 month ago

phadej commented 1 month ago
Benchmark                                                                                                             main      arena           
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups, NoCache/Bloomfilter query             0.788e-5  0.785e-5  -0.35%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups, NoCache/Compact index search          1.919e-6  1.873e-6  -2.38%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups, NoCache/Lookup preparation in memory  0.990e-5  0.984e-5  -0.63%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups, NoCache/Lookups in IO                 1.247e-3  0.126e-3 -89.90%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups, NoCache/Perform intra-page lookups    2.829e-6  2.697e-6  -4.68%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups, NoCache/Submit IOOps                  1.060e-4  1.066e-4  +0.56%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups/Bloomfilter query                      0.792e-5  0.775e-5  -2.19%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups/Compact index search                   1.895e-6  1.872e-6  -1.17%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups/Lookup preparation in memory           0.979e-5  0.977e-5  -0.16%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups/Lookups in IO                          1.158e-3  0.029e-3 -97.46%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups/Perform intra-page lookups             1.483e-6  1.553e-6  +4.71%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 negative lookups/Submit IOOps                           2.220e-5  2.250e-5  +1.35%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups, NoCache/Bloomfilter query             1.568e-5  1.559e-5  -0.58%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups, NoCache/Compact index search          1.952e-4  0.964e-4 -50.63%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups, NoCache/Lookup preparation in memory  2.495e-4  1.131e-4 -54.66%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups, NoCache/Lookups in IO                 0.394e-2  0.201e-2 -48.86%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups, NoCache/Perform intra-page lookups    1.414e-4  1.083e-4 -23.42%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups, NoCache/Submit IOOps                  1.831e-3  1.796e-3  -1.92%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups/Bloomfilter query                      1.576e-5  1.577e-5  +0.10%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups/Compact index search                   1.970e-4  0.978e-4 -50.36%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups/Lookup preparation in memory           2.501e-4  1.134e-4 -54.67%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups/Lookups in IO                          2.135e-3  0.555e-3 -73.98%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups/Perform intra-page lookups             0.536e-4  0.380e-4 -29.16%
Bench.Database.LSMTree.Internal.Lookup/2_000_000 entries, 256 positive lookups/Submit IOOps                           0.381e-3  0.380e-3  -0.27%
Geometric mean                                                                                                        0.614e-4  0.378e-4 -38.49%