diff --git a/Bench.cpp b/Bench.cpp index b4e9002..0bc5681 100644 --- a/Bench.cpp +++ b/Bench.cpp @@ -29,7 +29,7 @@ void monotonicallyIncreasing() { const auto end = facade.versioned.end(v); auto iter = begin; - bench.run("deref", [&] { bench.doNotOptimizeAway(*iter); }); + bench.run("*iter", [&] { bench.doNotOptimizeAway(*iter); }); iter = begin; bench.run("++iter", [&] { diff --git a/README.md b/README.md index 81f7c9d..fbdf238 100644 --- a/README.md +++ b/README.md @@ -15,4 +15,32 @@ feature | weaselab | fdb | |searches per range clear|2|5| |searches per set (worst-case)|1|4| -\* Part of a set of tradeoffs that enable 1 entry per set worst-case \ No newline at end of file +\* Part of a set of tradeoffs that enable 1 entry per set worst-case + +# benchmarks + +## weaselab + +| ns/op | op/s | err% | total | benchmark +|--------------------:|--------------------:|--------:|----------:|:---------- +| 1,537.31 | 650,485.22 | 2.0% | 0.21 | `monotonically increasing` +| 1.25 | 798,963,102.97 | 0.1% | 0.01 | `*iter` +| 38.71 | 25,831,420.46 | 3.2% | 0.01 | `++iter` +| 37.31 | 26,801,664.98 | 0.3% | 0.01 | `--iter` +| 133.17 | 7,508,978.37 | 2.8% | 0.02 | `begin` +| 129.51 | 7,721,547.35 | 0.4% | 0.02 | `begin (firstGeq)` +| 54.40 | 18,381,173.00 | 1.2% | 0.01 | `end` +| 245.34 | 4,075,961.09 | 1.1% | 0.01 | `bulkFirstGeq` + +## fdb + +| ns/op | op/s | err% | total | benchmark +|--------------------:|--------------------:|--------:|----------:|:---------- +| 2,244.65 | 445,503.99 | 1.3% | 0.29 | `monotonically increasing` +| 2.06 | 486,311,738.92 | 0.3% | 0.01 | `*iter` +| 12.53 | 79,826,977.13 | 0.4% | 0.01 | `++iter` +| 8.86 | 112,927,293.80 | 1.3% | 0.01 | `--iter` +| 89.27 | 11,201,505.02 | 0.7% | 0.01 | `begin` +| 144.38 | 6,926,060.07 | 2.9% | 0.02 | `begin (firstGeq)` +| 71.84 | 13,920,283.88 | 0.4% | 0.01 | `end` +| 412.10 | 2,426,597.75 | 0.2% | 0.01 | `bulkFirstGeq`