blackbeard420

blackbeard420 / bench.md

Last active 3 weeks ago

Like 0

Revision bcc532ae7dd7a21e57ccfde0e85a2c19d62e08da

bench.md Raw
After loading and initial maintenance SQLite PostgreSQL
Messages 4,360,000 4,360,000
Database size, decimal GB 8.008 14.324
Database engine 3.53.3 17.11
Full-text implementation FTS5 tsvector with simple dictionary and GIN

Results

All 11,640 measured operations completed without errors. The tables pool three rounds. Lower latency and higher throughput are better. FTS p95 is the maximum of only 15 observations per backend/query; see the sampling caveat below.

FTS5 versus PostgreSQL full-text search

Workload SQLite median / p95 (ms) PostgreSQL median / p95 (ms) SQLite ops/s PostgreSQL ops/s
Common: discussion (~25% match) 19,220.321 / 21,491.441 22,335.698 / 24,793.862 0.050 0.044
Medium: deployment (~1.09%) 1,292.016 / 1,334.494 201.237 / 212.263 0.896 4.9
Rare: quasar (~0.01%) 6.045 / 6.504 22.672 / 23.708 162.7 44.3
Prefix: deplo (~1.09%) 1,293.404 / 1,304.671 201.635 / 203.410 0.898 5.0
AND: deployment rollback (~0.099%) 59.042 / 59.787 36.978 / 38.430 16.9 27.0
deployment in channel 042 127.693 / 130.478 35.095 / 427.356 7.8 10.9
Missing: absentlexemezzz 0.314 / 0.488 22.065 / 23.419 3,076.1 45.4
quasar, offset 100 6.302 / 7.276 22.605 / 24.119 157.6 44.4

History and writes

Workload SQLite median / p95 (ms) PostgreSQL median / p95 (ms) SQLite ops/s PostgreSQL ops/s
Latest 100 messages 0.965 / 4.304 1.561 / 2.171 583.7 613.7
100 messages halfway through history 20.268 / 36.208 65.703 / 128.343 48.7 13.1
Latest 100, eight concurrent callers 7.814 / 9.170 11.934 / 13.005 1,007.4 665.3
Insert one message 0.520 / 2.503 9.327 / 10.075 699.0 114.9
Insert, eight concurrent callers 4.612 / 44.283 74.908 / 87.154 712.5 109.2