2024-05-30 10:29:24 -07:00
2024-05-10 12:10:00 -07:00
2024-04-30 11:39:34 -07:00
2024-04-30 11:39:34 -07:00
2024-06-04 13:59:26 -07:00
2024-05-29 22:00:18 -07:00
2024-05-28 21:38:08 -07:00
2024-05-30 18:02:05 -07:00
2024-05-30 11:14:44 -07:00
2024-05-10 14:03:04 -07:00
2024-06-04 13:59:26 -07:00
2024-05-03 16:39:30 -07:00
2024-05-16 16:38:41 -07:00
2024-05-30 18:02:05 -07:00
2024-05-10 13:47:37 -07:00
2024-05-08 15:13:58 -07:00

feature weaselab fdb
based on node-copying treap node-copying treap
branch-free child function
bytes per node (worst-case) 64 + kv len + 1* 96 + kv len
cheaper iteration*
efficient bulk queries
entries per set (worst-case) 1 3
memory-usage (rough) 40% 100%
node gc mark-and-sweep reference-counting
pointer size 32-bit 64-bit
purge strategy scan search
read from foreign thread
recursion-free
returns node memory to OS
searches per point clear 1 5
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

benchmarks

weaselab

ns/op op/s err% total benchmark
1,538.88 649,824.01 2.7% 0.22 monotonically increasing
1.25 798,888,023.37 0.0% 0.01 *iter
32.10 31,153,434.23 0.7% 0.01 ++iter
31.08 32,178,831.30 0.3% 0.01 --iter
139.19 7,184,433.93 2.2% 0.02 begin
176.43 5,667,847.59 0.3% 0.02 begin (firstGeq)
54.56 18,329,336.92 0.4% 0.01 end
159.37 6,274,892.80 0.1% 0.10 bulkFirstGeq
153.55 6,512,408.74 0.1% 0.09 bulkFirstGeq (latest version)

fdb

ns/op op/s err% total benchmark
2,236.83 447,061.26 1.0% 0.29 monotonically increasing
2.11 473,370,596.42 0.9% 0.01 *iter
12.07 82,858,977.78 1.2% 0.01 ++iter
8.54 117,158,071.80 0.9% 0.01 --iter
94.26 10,608,588.66 1.1% 0.01 begin
159.01 6,288,940.61 0.4% 0.02 begin (firstGeq)
73.47 13,610,276.41 0.9% 0.01 end
422.53 2,366,723.10 0.1% 0.25 bulkFirstGeq
365.13 2,738,758.86 0.1% 0.22 bulkFirstGeq (latest version)
Description
No description provided
Readme Apache-2.0 2.1 MiB
Languages
C++ 93.5%
CMake 5.7%
C 0.6%
Shell 0.2%