Closed jamadden closed 4 years ago
It's generally quite a bit faster than ZEO on the same machine, and often faster than FileStorage for writes.
Here's 5 threads working on 10 objects:
Benchmark | sqlite_ssd_10 | filestorage_10 | zeo_fs_10 |
---|---|---|---|
add | 12.1 ms | 44.2 ms: 3.65x slower (+265%) | 44.3 ms: 3.66x slower (+266%) |
store | 4.20 ms | 8.07 ms: 1.92x slower (+92%) | 9.12 ms: 2.17x slower (+117%) |
update | 11.0 ms | 43.9 ms: 4.00x slower (+300%) | 74.5 ms: 6.78x slower (+578%) |
cold | 11.4 ms | 4.40 ms: 2.59x faster (-61%) | 25.9 ms: 2.28x slower (+128%) |
prefetch_cold | 11.8 ms | 4.31 ms: 2.74x faster (-63%) | 20.0 ms: 1.69x slower (+69%) |
readCurrent | 4.87 ms | 2.56 ms: 1.91x faster (-48%) | 17.5 ms: 3.59x slower (+259%) |
warm | 36.7 ms | 19.6 ms: 1.88x faster (-47%) | 66.8 ms: 1.82x slower (+82%) |
tpc | 1.58 ms | 346 us: 4.56x faster (-78%) | 5.97 ms: 3.79x slower (+279%) |
new_oid | 2.07 ms | 93.3 us: 22.20x faster (-95%) | 1.02 ms: 2.04x faster (-51%) |
hot | 7.06 ms | 2.76 ms: 2.56x faster (-61%) | 6.42 ms: 1.10x faster (-9%) |
conflicts | 12.0 ms | 44.9 ms: 3.73x slower (+273%) |
And here's 5 separate processes:
Benchmark | sqlite_ssd_10 | zeo_fs_10 |
---|---|---|
add | 4.44 ms | 23.1 ms: 5.20x slower (+420%) |
store | 2.29 ms | 23.3 ms: 10.17x slower (+917%) |
update | 3.95 ms | 43.8 ms: 11.09x slower (+1009%) |
cold | 2.20 ms | 10.8 ms: 4.92x slower (+392%) |
prefetch_cold | 2.31 ms | 7.36 ms: 3.19x slower (+219%) |
warm | 11.6 ms | 42.5 ms: 3.65x slower (+265%) |
This makes it consistently at least 2x to 3x faster in most benchmarks and it also closes some potential concurrency issues.
Also expose all the pragmas in the configuration so users can tune it appropriately for their environment. This changes the config schema a bit, so since we were doing that, clean that up a bit.
Documentation still needs updated, I'll do that separately.