Goblin Core HSET Speed and Memory Benchmark
Generated by the native C++ harness on a dedicated benchmark host at 2026-07-16T19:07:13Z.
Summary
At 1,000,000 fields, the leanest Goblin row uses 48.67 RSS bytes/field, 20.1% less than Redis 8.8 and 45.0% less than Redis 7.2.4. The Goblin rows beat the fastest incumbent in 7 of 8 existing-field small-hash HSET comparisons. Goblin wins the million-field construction race: goblin-rt-resp-uds is 9.7% ahead of dragonfly. RT mixed p99.9 is 16.14 us, versus 16.71-22.71 us for the incumbents and 2293.39 us for efficient Goblin.
Method
- Every scenario starts a fresh server; engines run one at a time.
- Linux affinity: server core
2, client/load-generator core3(-1means unpinned). - Before the empty-server baseline, every engine constructs and deletes a
2,048-field fixed-width hash, then settles. - RT's fixed prefaulted index pool is charged back into RSS and
used_memorydeltas instead of being hidden as empty-server overhead. - RSS is read from the launched server PID: mini-redis-go uses
ps -o rss=, while other engines use/proc/<pid>/statusasVmRSS + HugetlbPages; no server-reported RSS field is used. - Every engine uses RESP2 over a Unix-domain socket. The HSET suite has no TCP, SBE, or shared-memory-ring rows; transport is not a benchmark variable.
- Bulk workloads, response validation, point throughput, mixed latency, process control, aggregation, and report generation run in this native C++ executable.
- The benchmark client's application receive buffer is
65,536bytes. Goblin's per-client application receive buffer is explicitly16,384bytes; incumbent server internals and kernel UDS buffers remain at their engine/OS defaults. - Bulk loads use multi-field
HSETbatches of128. Every point-throughput row uses RESP pipeline depth256. Timing includes native client encoding. Point rates use500,000requests and the median of3probes in each of3fresh servers. - Redis and Valkey use
benchmarks/redis-parity.conf; Dragonfly uses one proactor thread for single-core parity. mini-redis-go runs as an external binary withGOMAXPROCS=1, AOF disabled, and metrics disabled. - Unsupported point commands are reported as
n/a; error replies are never timed as successful operations. goblin-efficient-*uses the default memory-efficient hash representation.goblin-rt-*passes--hash-implementation rt; the keyspace index remains unchanged so the rows isolate the HSET implementation.- Goblin uses default string encoding and its configured compact-hash policy. Incumbents are exercised strictly as black-box RESP servers.
One Large Hash
1,000,000 distinct 18-byte fields start with 16-byte values and then grow to 64 bytes.
Speed
| Engine | bulk new fields/s | same-width HSET ops/s | bulk grow fields/s | initial optimize (s) | grown optimize (s) |
|---|---|---|---|---|---|
goblin-efficient-resp-uds |
1,580,552 | 1,892,138 | 1,901,143 | 0.0220 | 0.1646 |
goblin-rt-resp-uds |
2,542,642 | 1,748,940 | 1,980,930 | 0.0006 | 0.1446 |
redis-7.2.4 |
2,107,269 | 1,420,912 | 1,931,454 | n/a | n/a |
redis-8.8 |
2,296,443 | 1,305,163 | 2,212,993 | n/a | n/a |
valkey-9.1 |
2,020,588 | 1,233,675 | 2,057,101 | n/a | n/a |
dragonfly |
2,318,353 | 765,235 | 1,411,892 | n/a | n/a |
mini-redis-go-55178df |
849,171 | 290,513 | 1,009,228 | n/a | n/a |
H* Point Throughput
All hit/existing-field probes target the same populated large hash. HMGET returns four hits. HINCRBY uses a dedicated one-field numeric hash. HDEL is covered by the mixed mutation latency table below because a stationary delete workload must restore fields. When a report retains older incumbent rows, this matrix remains Goblin-only because those runs predate the added probes.
Every row uses RESP/UDS with pipeline depth 256, a 65,536-byte client receive buffer, and no shared-memory ring.
| Engine | HSET update | HGET hit | HSETNX existing | HMGET four hits | HEXISTS hit | HSTRLEN hit | HLEN | HINCRBY |
|---|---|---|---|---|---|---|---|---|
goblin-efficient-resp-uds |
1,892,138 | 1,813,212 | 2,041,640 | 961,177 | 2,218,602 | 2,095,675 | 3,939,983 | 2,218,391 |
goblin-rt-resp-uds |
1,748,940 | 1,747,496 | 1,914,020 | 928,596 | 1,822,283 | 1,750,452 | 3,990,776 | 2,291,328 |
redis-7.2.4 |
1,420,912 | 1,587,657 | 1,562,798 | 923,881 | 1,665,662 | 1,644,563 | 3,128,252 | 1,887,251 |
redis-8.8 |
1,305,163 | 1,397,479 | 1,487,508 | 881,284 | 1,586,496 | 1,591,752 | 2,454,285 | 1,546,070 |
valkey-9.1 |
1,233,675 | 1,403,896 | 1,364,566 | 795,550 | 1,494,731 | 1,477,416 | 2,235,562 | 1,451,919 |
dragonfly |
765,235 | 894,570 | 884,202 | 567,395 | 1,101,975 | 1,002,669 | 1,531,933 | 1,015,792 |
mini-redis-go-55178df |
290,513 | 310,938 | n/a | n/a | n/a | n/a | 376,711 | n/a |
Memory With 16-Byte Values
Goblin is sampled after GOBLIN.OPTIMIZE.
| Engine | RSS MiB | RSS delta MiB | RSS B/field | used B/field | key B/field |
|---|---|---|---|---|---|
goblin-efficient-resp-uds |
53.29 | 46.41 | 48.67 | 40.16 | 49.38 |
goblin-rt-resp-uds |
64.36 | 57.84 | 60.65 | 52.01 | 60.43 |
redis-7.2.4 |
91.51 | 84.46 | 88.56 | 80.44 | 80.39 |
redis-8.8 |
66.34 | 58.06 | 60.88 | 54.13 | 72.39 |
valkey-9.1 |
68.88 | 60.92 | 63.88 | 66.93 | 66.88 |
dragonfly |
95.34 | 72.70 | 76.23 | 76.07 | 76.07 |
mini-redis-go-55178df |
232.05 | 219.95 | 230.64 | n/a | n/a |
Memory After Growing Every Value to 64 Bytes
| Engine | pre-opt RSS B/field | post-opt RSS B/field | post-opt used B/field | post-opt key B/field |
|---|---|---|---|---|
goblin-efficient-resp-uds |
118.93 | 100.96 | 88.16 | 101.18 |
goblin-rt-resp-uds |
129.95 | 112.95 | 100.01 | 112.24 |
redis-7.2.4 |
162.00 | 162.00 | 136.56 | 136.39 |
redis-8.8 |
116.92 | 116.92 | 110.27 | 120.39 |
valkey-9.1 |
121.07 | 121.07 | 113.64 | 113.47 |
dragonfly |
158.73 | 158.73 | 124.07 | 124.07 |
mini-redis-go-55178df |
387.16 | 387.16 | n/a | n/a |
Goblin Large-Hash Internals
| Engine | Phase | fields | live MiB | dead MiB | arena MiB | index MiB | total MiB |
|---|---|---|---|---|---|---|---|
goblin-efficient-resp-uds |
loaded before optimize |
1,000,000 | 33.38 | 0.00 | 42.17 | 5.57 | 47.75 |
goblin-efficient-resp-uds |
loaded after optimize |
1,000,000 | 33.38 | 0.00 | 42.17 | 4.92 | 47.09 |
goblin-efficient-resp-uds |
grown before optimize |
1,000,000 | 79.15 | 16.21 | 107.99 | 5.85 | 113.84 |
goblin-efficient-resp-uds |
grown after optimize |
1,000,000 | 79.15 | 0.00 | 91.58 | 4.92 | 96.50 |
goblin-rt-resp-uds |
loaded before optimize |
1,000,000 | 33.38 | 0.00 | 42.17 | 15.47 | 57.63 |
goblin-rt-resp-uds |
loaded after optimize |
1,000,000 | 33.38 | 0.00 | 42.17 | 15.47 | 57.63 |
goblin-rt-resp-uds |
grown before optimize |
1,000,000 | 79.15 | 16.21 | 107.98 | 15.47 | 123.45 |
goblin-rt-resp-uds |
grown after optimize |
1,000,000 | 79.15 | 0.00 | 91.57 | 15.47 | 107.04 |
For RT rows, index MiB is the live bucket/directory storage attributed to this key. RSS and used_memory charge the entire shared fixed pool once, including free headroom; its committed capacity is exposed by INFO as realtime_hash_index_pool_bytes.
Many Hashes
Each shape holds approximately 500,000 total fields. Keys are 14 bytes, fields are 5 bytes, and values are 16 bytes.
Speed
| fields/hash | hashes | Engine | load fields/s | load hashes/s | middle-field HSET ops/s |
|---|---|---|---|---|---|
| 8 | 62,500 | goblin-efficient-resp-uds |
3,158,202 | 394,775 | 2,344,673 |
| 8 | 62,500 | goblin-rt-resp-uds |
2,479,552 | 309,944 | 1,180,816 |
| 8 | 62,500 | redis-7.2.4 |
3,011,093 | 376,387 | 1,875,931 |
| 8 | 62,500 | redis-8.8 |
2,841,521 | 355,190 | 1,491,261 |
| 8 | 62,500 | valkey-9.1 |
2,545,531 | 318,191 | 1,469,760 |
| 8 | 62,500 | dragonfly |
2,951,425 | 368,928 | 1,067,200 |
| 8 | 62,500 | mini-redis-go-55178df |
1,041,598 | 130,200 | 286,373 |
| 32 | 15,625 | goblin-efficient-resp-uds |
3,598,687 | 112,459 | 2,321,430 |
| 32 | 15,625 | goblin-rt-resp-uds |
3,601,072 | 112,533 | 1,991,465 |
| 32 | 15,625 | redis-7.2.4 |
2,715,231 | 84,851 | 1,583,611 |
| 32 | 15,625 | redis-8.8 |
2,727,703 | 85,241 | 1,319,263 |
| 32 | 15,625 | valkey-9.1 |
2,536,216 | 79,257 | 1,337,186 |
| 32 | 15,625 | dragonfly |
2,965,989 | 92,687 | 996,774 |
| 32 | 15,625 | mini-redis-go-55178df |
1,212,469 | 37,890 | 307,596 |
| 64 | 7,812 | goblin-efficient-resp-uds |
3,362,986 | 52,547 | 2,372,268 |
| 64 | 7,812 | goblin-rt-resp-uds |
3,714,168 | 58,034 | 1,993,646 |
| 64 | 7,812 | redis-7.2.4 |
2,114,511 | 33,039 | 1,359,206 |
| 64 | 7,812 | redis-8.8 |
2,251,971 | 35,187 | 1,193,350 |
| 64 | 7,812 | valkey-9.1 |
2,124,712 | 33,199 | 1,193,593 |
| 64 | 7,812 | dragonfly |
3,443,930 | 53,811 | 969,952 |
| 64 | 7,812 | mini-redis-go-55178df |
1,317,307 | 20,583 | 311,516 |
| 128 | 3,906 | goblin-efficient-resp-uds |
3,302,522 | 25,801 | 2,330,336 |
| 128 | 3,906 | goblin-rt-resp-uds |
3,948,453 | 30,847 | 2,049,722 |
| 128 | 3,906 | redis-7.2.4 |
1,457,798 | 11,389 | 1,042,931 |
| 128 | 3,906 | redis-8.8 |
1,633,524 | 12,762 | 965,469 |
| 128 | 3,906 | valkey-9.1 |
1,583,813 | 12,374 | 981,391 |
| 128 | 3,906 | dragonfly |
3,611,788 | 28,217 | 971,422 |
| 128 | 3,906 | mini-redis-go-55178df |
1,413,451 | 11,043 | 313,313 |
Memory
Sampled key bytes are the mean of the first, middle, and last hash. RT process deltas include the shared fixed pool, so its configured capacity is deliberately most visible in smaller datasets.
| fields/hash | Engine | RSS MiB | RSS B/hash | RSS B/field | used B/hash | sampled key B/hash |
|---|---|---|---|---|---|---|
| 8 | goblin-efficient-resp-uds |
23.32 | 276.10 | 34.51 | 267.20 | 228.00 |
| 8 | goblin-rt-resp-uds |
106.78 | 1682.21 | 210.28 | 1319.34 | 1137.00 |
| 8 | redis-7.2.4 |
24.14 | 287.77 | 35.97 | 288.80 | 280.00 |
| 8 | redis-8.8 |
24.89 | 278.33 | 34.79 | 278.55 | 247.00 |
| 8 | valkey-9.1 |
24.93 | 284.43 | 35.55 | 281.87 | 264.00 |
| 8 | dragonfly |
39.87 | 288.95 | 36.12 | 286.93 | 224.00 |
| 8 | mini-redis-go-55178df |
86.82 | 1253.97 | 156.75 | n/a | n/a |
| 32 | goblin-efficient-resp-uds |
21.07 | 952.63 | 29.77 | 939.18 | 900.00 |
| 32 | goblin-rt-resp-uds |
54.74 | 3234.73 | 101.09 | 2663.75 | 2453.00 |
| 32 | redis-7.2.4 |
21.28 | 954.47 | 29.83 | 962.03 | 952.00 |
| 32 | redis-8.8 |
22.44 | 950.27 | 29.70 | 951.68 | 847.00 |
| 32 | valkey-9.1 |
22.23 | 960.76 | 30.02 | 955.10 | 936.00 |
| 32 | dragonfly |
36.76 | 946.60 | 29.58 | 946.34 | 896.00 |
| 32 | mini-redis-go-55178df |
121.80 | 7363.36 | 230.11 | n/a | n/a |
| 64 | goblin-efficient-resp-uds |
20.70 | 1856.10 | 29.00 | 1835.16 | 1796.00 |
| 64 | goblin-rt-resp-uds |
46.04 | 5301.17 | 82.83 | 4456.42 | 3582.00 |
| 64 | redis-7.2.4 |
20.81 | 1845.61 | 28.84 | 1859.68 | 1848.00 |
| 64 | redis-8.8 |
22.05 | 1847.71 | 28.87 | 1849.35 | 1647.00 |
| 64 | valkey-9.1 |
21.84 | 1862.91 | 29.11 | 1852.73 | 1832.00 |
| 64 | dragonfly |
51.25 | 3848.52 | 60.13 | 3857.56 | 3824.00 |
| 64 | mini-redis-go-55178df |
110.34 | 13189.83 | 206.09 | n/a | n/a |
| 128 | goblin-efficient-resp-uds |
20.31 | 3607.33 | 28.18 | 3627.11 | 3588.00 |
| 128 | goblin-rt-resp-uds |
41.73 | 9446.73 | 73.80 | 8041.63 | 7144.00 |
| 128 | redis-7.2.4 |
20.58 | 3649.28 | 28.51 | 3654.96 | 3640.00 |
| 128 | redis-8.8 |
21.89 | 3651.38 | 28.53 | 3644.58 | 3247.00 |
| 128 | valkey-9.1 |
21.69 | 3678.64 | 28.74 | 3648.05 | 3624.00 |
| 128 | dragonfly |
50.61 | 7489.41 | 58.51 | 7520.00 | 7520.00 |
| 128 | mini-redis-go-55178df |
101.64 | 24039.09 | 187.81 | n/a | n/a |
Goblin Full-Hash Relocation Density
Goblin uses --hash-listpack-max-entries 0. Each row is the median of 1 fresh-server rounds over 100,000 fields.
| Engine | pattern | density | grown fields | first grow us | HGET ops/s | pre-opt RSS B/field | post-opt RSS B/field | dead MiB | compact ms |
|---|---|---|---|---|---|---|---|---|---|
goblin-efficient-resp-uds |
random |
0.0% | 0 | n/a | 2,632,382 | 54.39 | 51.90 | 0.00 | 1.94 |
goblin-efficient-resp-uds |
random |
0.1% | 100 | 38.02 | 2,631,379 | 54.39 | 49.81 | 0.00 | 7.27 |
goblin-efficient-resp-uds |
random |
1.0% | 1,000 | 39.04 | 2,619,070 | 54.39 | 52.10 | 0.02 | 7.36 |
goblin-efficient-resp-uds |
random |
10.0% | 10,000 | 38.27 | 2,621,550 | 60.74 | 58.53 | 0.16 | 8.47 |
goblin-efficient-resp-uds |
random |
50.0% | 50,000 | 38.16 | 2,313,733 | 86.63 | 77.78 | 0.81 | 15.91 |
goblin-efficient-resp-uds |
random |
100.0% | 100,000 | 37.36 | 2,518,715 | 118.91 | 101.83 | 1.62 | 10.85 |
goblin-efficient-resp-uds |
clustered |
0.0% | 0 | n/a | 2,606,565 | 54.39 | 51.90 | 0.00 | 2.00 |
goblin-efficient-resp-uds |
clustered |
0.1% | 100 | 30.72 | 2,626,599 | 54.39 | 49.52 | 0.00 | 7.24 |
goblin-efficient-resp-uds |
clustered |
1.0% | 1,000 | 26.77 | 2,601,374 | 54.39 | 50.05 | 0.02 | 7.39 |
goblin-efficient-resp-uds |
clustered |
10.0% | 10,000 | 57.52 | 2,576,270 | 58.90 | 54.72 | 0.16 | 8.02 |
goblin-efficient-resp-uds |
clustered |
50.0% | 50,000 | 58.85 | 2,291,617 | 84.71 | 75.69 | 0.81 | 11.95 |
goblin-efficient-resp-uds |
clustered |
100.0% | 100,000 | 64.82 | 2,536,538 | 118.87 | 101.83 | 1.62 | 9.00 |
goblin-rt-resp-uds |
random |
0.0% | 0 | n/a | 2,485,694 | 217.36 | 214.08 | 0.00 | 0.14 |
goblin-rt-resp-uds |
random |
0.1% | 100 | 40.96 | 2,525,929 | 217.44 | 214.41 | 0.00 | 6.38 |
goblin-rt-resp-uds |
random |
1.0% | 1,000 | 37.91 | 2,525,151 | 218.01 | 216.62 | 0.02 | 5.97 |
goblin-rt-resp-uds |
random |
10.0% | 10,000 | 40.15 | 2,531,708 | 223.95 | 223.01 | 0.16 | 6.91 |
goblin-rt-resp-uds |
random |
50.0% | 50,000 | 39.24 | 2,290,426 | 250.00 | 242.34 | 0.81 | 13.60 |
goblin-rt-resp-uds |
random |
100.0% | 100,000 | 40.15 | 2,445,278 | 282.52 | 266.38 | 1.62 | 9.41 |
goblin-rt-resp-uds |
clustered |
0.0% | 0 | n/a | 2,487,860 | 217.36 | 214.08 | 0.00 | 0.15 |
goblin-rt-resp-uds |
clustered |
0.1% | 100 | 45.42 | 2,454,398 | 217.44 | 214.12 | 0.00 | 6.70 |
goblin-rt-resp-uds |
clustered |
1.0% | 1,000 | 190.86 | 2,546,828 | 218.01 | 214.61 | 0.02 | 6.20 |
goblin-rt-resp-uds |
clustered |
10.0% | 10,000 | 46.75 | 2,524,247 | 223.87 | 219.28 | 0.16 | 6.66 |
goblin-rt-resp-uds |
clustered |
50.0% | 50,000 | 58.21 | 2,270,358 | 249.84 | 240.33 | 0.81 | 9.48 |
goblin-rt-resp-uds |
clustered |
100.0% | 100,000 | 59.20 | 2,452,125 | 282.48 | 266.38 | 1.62 | 7.86 |
Mixed Hash Write Latency
A seeded depth-one workload starts with 100,000 fields, warms 1,000 operations, and measures 10,000 unpipelined RESP/UDS round trips in C++. The client receive buffer is 65,536 bytes; this sample count provides about 10 p99.9 observations and 1 p99.99 observations per round.
| Engine | ops/s | insert/update/delete/grow | p50 us | p95 us | p99 us | p99.9 us | p99.99 us | max us | RSS B/field | dead MiB | compacting | final fields |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
goblin-efficient-resp-uds |
56,333 | 2502/2458/2506/2534 | 9.62 | 11.89 | 13.48 | 2293.39 | 2345.63 | 2385.07 | 62.72 | 0.14 | 0 | 99,984 |
goblin-rt-resp-uds |
96,430 | 2502/2458/2506/2534 | 10.61 | 11.98 | 13.85 | 16.14 | 87.69 | 1643.45 | 220.18 | 0.14 | 0 | 99,984 |
redis-7.2.4 |
91,803 | 2502/2458/2506/2534 | 11.38 | 12.72 | 14.80 | 22.71 | 66.70 | 81.95 | 89.06 | n/a | n/a | 99,984 |
redis-8.8 |
88,602 | 2502/2458/2506/2534 | 11.44 | 13.30 | 15.01 | 21.24 | 104.56 | 124.49 | 61.98 | n/a | n/a | 99,984 |
valkey-9.1 |
90,297 | 2502/2458/2506/2534 | 11.00 | 12.08 | 13.87 | 16.71 | 90.46 | 133.68 | 55.35 | n/a | n/a | 99,984 |
dragonfly |
93,849 | 2502/2458/2506/2534 | 10.54 | 13.06 | 14.68 | 18.18 | 37.25 | 38.66 | 79.93 | n/a | n/a | 99,984 |
mini-redis-go-55178df |
82,309 | 2502/2458/2506/2534 | 11.58 | 17.00 | 19.40 | 22.65 | 32.59 | 35.56 | 235.93 | n/a | n/a | 99,984 |
| Engine | operation | p50 us | p95 us | p99 us | p99.9 us | p99.99 us | max us |
|---|---|---|---|---|---|---|---|
goblin-efficient-resp-uds |
insert | 9.63 | 12.01 | 2282.47 | 2311.02 | 2385.07 | 2385.07 |
goblin-efficient-resp-uds |
update | 9.62 | 11.86 | 12.57 | 15.59 | 16.12 | 16.12 |
goblin-efficient-resp-uds |
delete | 9.57 | 11.83 | 13.18 | 15.87 | 17.49 | 17.49 |
goblin-efficient-resp-uds |
grow | 9.67 | 11.92 | 13.30 | 16.71 | 18.85 | 18.85 |
goblin-rt-resp-uds |
insert | 10.61 | 11.97 | 13.77 | 15.60 | 1643.45 | 1643.45 |
goblin-rt-resp-uds |
update | 10.62 | 11.95 | 12.67 | 16.60 | 87.69 | 87.69 |
goblin-rt-resp-uds |
delete | 10.56 | 11.94 | 13.35 | 15.85 | 16.14 | 16.14 |
goblin-rt-resp-uds |
grow | 10.67 | 12.11 | 15.12 | 16.15 | 19.91 | 19.91 |
redis-7.2.4 |
insert | 11.36 | 12.63 | 14.25 | 17.57 | 81.95 | 81.95 |
redis-7.2.4 |
update | 11.39 | 12.64 | 14.38 | 19.43 | 39.48 | 39.48 |
redis-7.2.4 |
delete | 11.33 | 12.79 | 14.41 | 19.95 | 66.70 | 66.70 |
redis-7.2.4 |
grow | 11.46 | 13.10 | 15.62 | 22.71 | 42.89 | 42.89 |
redis-8.8 |
insert | 11.44 | 13.12 | 14.55 | 21.24 | 104.56 | 104.56 |
redis-8.8 |
update | 11.44 | 13.11 | 14.41 | 18.36 | 27.89 | 27.89 |
redis-8.8 |
delete | 11.38 | 13.26 | 14.75 | 17.54 | 23.50 | 23.50 |
redis-8.8 |
grow | 11.48 | 13.62 | 15.91 | 25.03 | 124.49 | 124.49 |
valkey-9.1 |
insert | 10.98 | 12.00 | 12.85 | 15.03 | 133.68 | 133.68 |
valkey-9.1 |
update | 11.00 | 12.06 | 13.38 | 16.72 | 90.46 | 90.46 |
valkey-9.1 |
delete | 10.92 | 11.99 | 13.53 | 15.84 | 17.16 | 17.16 |
valkey-9.1 |
grow | 11.08 | 12.48 | 15.25 | 17.29 | 29.90 | 29.90 |
dragonfly |
insert | 10.45 | 13.00 | 13.47 | 16.15 | 38.66 | 38.66 |
dragonfly |
update | 10.66 | 13.06 | 14.38 | 17.09 | 17.76 | 17.76 |
dragonfly |
delete | 10.43 | 12.80 | 13.78 | 15.88 | 37.25 | 37.25 |
dragonfly |
grow | 10.69 | 13.18 | 16.31 | 21.91 | 36.80 | 36.80 |
mini-redis-go-55178df |
insert | 11.53 | 16.99 | 19.79 | 22.58 | 23.95 | 23.95 |
mini-redis-go-55178df |
update | 11.59 | 17.01 | 19.68 | 22.03 | 26.40 | 26.40 |
mini-redis-go-55178df |
delete | 11.56 | 17.02 | 18.34 | 22.75 | 35.56 | 35.56 |
mini-redis-go-55178df |
grow | 11.65 | 17.00 | 18.24 | 20.95 | 25.15 | 25.15 |
The medium-hash representation crossover is measured separately in HASH-THRESHOLD-SWEEP.
Tested Servers
- goblin-efficient-resp-uds
- goblin-rt-resp-uds
- redis-7.2.4
- redis-8.8
- valkey-9.1
- dragonfly
- mini-redis-go-55178df