Results Charts Costs Suites Methodology Runs Coverage Data ↗
Latency charts http-logs · p50 and p95 · lower is better
Solid bars show p50; outlined extensions end at p95. Every axis is linear and
starts at zero. Each query has its own range; compare engines within a query.
Small bars retain their exact numeric labels.
Historical samples usually contain only 10 repetitions. Their p95 describes
the observed sample tail, not a stable production tail estimate. First-touch
timings and cache limitations remain on the board .
Query shape
All queries avg_size_by_status count_by_method count_by_status count_distinct_host count_last25 deep_pagination histogram_hourly histogram_hourly_last25 keyword keyword_and_status match_all negation_count status_404_browse status_404_count status_5xx_count substring_scan top_hosts windowed_browse_last25
avg_size_by_status
avg_size_by_status — p50 and p95, linear scale from zero
0.0ms
1.0s
2.0s
3.1s
4.1s
Siglake
p50 599ms · p95 628ms
n=10 repetitions
clickhouse
p50 212ms · p95 237ms
n=10 repetitions
clickhouse-s3
p50 1.0s · p95 1.1s
n=10 repetitions
duckdb
p50 249ms · p95 251ms
n=10 repetitions
duckdb-s3
p50 274ms · p95 289ms
n=10 repetitions
elasticsearch
p50 3.7s · p95 3.7s
n=10 repetitions
quickwit
p50 3.5ms · p95 4.1ms
n=10 repetitions
victorialogs
p50 2.0s · p95 2.0s
n=10 repetitions
count_by_method
count_by_method — p50 and p95, linear scale from zero
0.0ms
179ms
359ms
538ms
718ms
Siglake
p50 2.7ms · p95 2.9ms
n=10 repetitions
clickhouse
p50 141ms · p95 142ms
n=10 repetitions
clickhouse-s3
p50 188ms · p95 203ms
n=10 repetitions
duckdb
p50 121ms · p95 124ms
n=10 repetitions
duckdb-s3
p50 143ms · p95 158ms
n=10 repetitions
elasticsearch
p50 8.2ms · p95 10.3ms
n=10 repetitions
quickwit
p50 3.6ms · p95 4.2ms
n=10 repetitions
victorialogs
p50 645ms · p95 652ms
n=10 repetitions
count_by_status
count_by_status — p50 and p95, linear scale from zero
0.0ms
262ms
523ms
785ms
1.0s
Siglake
p50 2.7ms · p95 3.3ms
n=10 repetitions
clickhouse
p50 95.3ms · p95 99.2ms
n=10 repetitions
clickhouse-s3
p50 256ms · p95 289ms
n=10 repetitions
duckdb
p50 145ms · p95 149ms
n=10 repetitions
duckdb-s3
p50 176ms · p95 180ms
n=10 repetitions
elasticsearch
p50 927ms · p95 941ms
n=10 repetitions
quickwit
p50 3.4ms · p95 3.8ms
n=10 repetitions
victorialogs
p50 933ms · p95 952ms
n=10 repetitions
count_distinct_host
count_distinct_host — p50 and p95, linear scale from zero
0.0ms
815ms
1.6s
2.4s
3.3s
Siglake
p50 116ms · p95 117ms
n=10 repetitions
clickhouse
p50 993ms · p95 1.0s
n=10 repetitions
clickhouse-s3
p50 1.5s · p95 1.7s
n=10 repetitions
duckdb
p50 206ms · p95 212ms
n=10 repetitions
duckdb-s3
p50 227ms · p95 260ms
n=10 repetitions
elasticsearch
p50 785ms · p95 803ms
n=10 repetitions
quickwit
unsupported / not measured
victorialogs
p50 2.9s · p95 3.0s
n=10 repetitions
count_last25
count_last25 — p50 and p95, linear scale from zero
0.0ms
44.5ms
89.1ms
134ms
178ms
Siglake
p50 2.4ms · p95 3.0ms
n=10 repetitions
clickhouse
p50 1.9ms · p95 2.0ms
n=10 repetitions
clickhouse-s3
p50 51.1ms · p95 68.7ms
n=10 repetitions
duckdb
p50 119ms · p95 120ms
n=10 repetitions
duckdb-s3
p50 153ms · p95 162ms
n=10 repetitions
elasticsearch
p50 2.3ms · p95 3.0ms
n=10 repetitions
quickwit
p50 3.2ms · p95 3.6ms
n=10 repetitions
victorialogs
p50 2.7ms · p95 10.5ms
n=10 repetitions
deep_pagination
deep_pagination — p50 and p95, linear scale from zero
0.0ms
4.8s
9.6s
14.3s
19.1s
Siglake
p50 24.8ms · p95 25.6ms
n=10 repetitions
clickhouse
p50 8.6ms · p95 9.5ms
n=10 repetitions
clickhouse-s3
p50 216ms · p95 329ms
n=10 repetitions
duckdb
p50 277ms · p95 325ms
n=10 repetitions
duckdb-s3
p50 296ms · p95 320ms
n=10 repetitions
elasticsearch
unsupported / not measured
quickwit
unsupported / not measured
victorialogs
p50 16.8s · p95 17.4s
n=10 repetitions
histogram_hourly
histogram_hourly — p50 and p95, linear scale from zero
0.0ms
292ms
585ms
877ms
1.2s
Siglake
p50 3.8ms · p95 4.7ms
n=10 repetitions
clickhouse
p50 88.6ms · p95 89.7ms
n=10 repetitions
clickhouse-s3
p50 122ms · p95 141ms
n=10 repetitions
duckdb
p50 1.0s · p95 1.0s
n=10 repetitions
duckdb-s3
p50 1.1s · p95 1.1s
n=10 repetitions
elasticsearch
p50 916ms · p95 965ms
n=10 repetitions
quickwit
p50 5.9ms · p95 6.4ms
n=10 repetitions
victorialogs
p50 501ms · p95 516ms
n=10 repetitions
histogram_hourly_last25
histogram_hourly_last25 — p50 and p95, linear scale from zero
0.0ms
252ms
505ms
757ms
1.0s
Siglake
p50 3.0ms · p95 3.4ms
n=10 repetitions
clickhouse
p50 77.5ms · p95 78.1ms
n=10 repetitions
clickhouse-s3
p50 106ms · p95 231ms
n=10 repetitions
duckdb
p50 896ms · p95 903ms
n=10 repetitions
duckdb-s3
p50 911ms · p95 918ms
n=10 repetitions
elasticsearch
p50 803ms · p95 838ms
n=10 repetitions
quickwit
p50 4.0ms · p95 4.2ms
n=10 repetitions
victorialogs
p50 382ms · p95 393ms
n=10 repetitions
keyword
keyword — p50 and p95, linear scale from zero
0.0ms
485ms
970ms
1.5s
1.9s
Siglake
p50 8.1ms · p95 10.0ms
n=10 repetitions
clickhouse
p50 205ms · p95 206ms
n=10 repetitions
clickhouse-s3
p50 955ms · p95 1.8s
n=10 repetitions
duckdb
p50 2.6ms · p95 3.0ms
n=10 repetitions
duckdb-s3
p50 28.1ms · p95 64.2ms
n=10 repetitions
elasticsearch
p50 28.4ms · p95 76.0ms
n=10 repetitions
quickwit
p50 43.3ms · p95 250ms
n=10 repetitions
victorialogs
p50 2.5ms · p95 13.8ms
n=10 repetitions
keyword_and_status
keyword_and_status — p50 and p95, linear scale from zero
0.0ms
517ms
1.0s
1.6s
2.1s
Siglake
p50 23.3ms · p95 32.6ms
n=10 repetitions
clickhouse
p50 207ms · p95 208ms
n=10 repetitions
clickhouse-s3
p50 1.1s · p95 1.9s
n=10 repetitions
duckdb
p50 5.5ms · p95 6.4ms
n=10 repetitions
duckdb-s3
p50 37.6ms · p95 43.9ms
n=10 repetitions
elasticsearch
p50 33.8ms · p95 36.7ms
n=10 repetitions
quickwit
p50 118ms · p95 328ms
n=10 repetitions
victorialogs
p50 6.5ms · p95 13.2ms
n=10 repetitions
match_all
match_all — p50 and p95, linear scale from zero
0.0ms
2.7s
5.4s
8.0s
10.7s
Siglake
p50 23.6ms · p95 49.2ms
n=10 repetitions
clickhouse
p50 3.9ms · p95 4.6ms
n=10 repetitions
clickhouse-s3
p50 63.5ms · p95 90.0ms
n=10 repetitions
duckdb
p50 40.6ms · p95 43.0ms
n=10 repetitions
duckdb-s3
p50 70.2ms · p95 81.5ms
n=10 repetitions
elasticsearch
p50 349ms · p95 383ms
n=10 repetitions
quickwit
p50 50.2ms · p95 98.5ms
n=10 repetitions
victorialogs
p50 9.1s · p95 9.8s
n=10 repetitions
negation_count
negation_count — p50 and p95, linear scale from zero
0.0ms
96.4ms
193ms
289ms
385ms
Siglake
p50 2.5ms · p95 3.2ms
n=10 repetitions
clickhouse
p50 46.6ms · p95 46.8ms
n=10 repetitions
clickhouse-s3
p50 130ms · p95 270ms
n=10 repetitions
duckdb
p50 117ms · p95 117ms
n=10 repetitions
duckdb-s3
p50 152ms · p95 160ms
n=10 repetitions
elasticsearch
p50 2.1ms · p95 2.9ms
n=10 repetitions
quickwit
p50 3.4ms · p95 4.2ms
n=10 repetitions
victorialogs
p50 341ms · p95 350ms
n=10 repetitions
status_404_browse
status_404_browse — p50 and p95, linear scale from zero
0.0ms
91.6ms
183ms
275ms
366ms
Siglake
p50 7.1ms · p95 9.1ms
n=10 repetitions
clickhouse
p50 4.7ms · p95 5.0ms
n=10 repetitions
clickhouse-s3
p50 292ms · p95 333ms
n=10 repetitions
duckdb
p50 4.4ms · p95 5.0ms
n=10 repetitions
duckdb-s3
p50 37.6ms · p95 69.7ms
n=10 repetitions
elasticsearch
p50 13.2ms · p95 15.9ms
n=10 repetitions
quickwit
p50 109ms · p95 125ms
n=10 repetitions
victorialogs
p50 4.2ms · p95 8.8ms
n=10 repetitions
status_404_count
status_404_count — p50 and p95, linear scale from zero
0.0ms
93.6ms
187ms
281ms
374ms
Siglake
p50 2.4ms · p95 2.8ms
n=10 repetitions
clickhouse
p50 46.5ms · p95 49.0ms
n=10 repetitions
clickhouse-s3
p50 252ms · p95 306ms
n=10 repetitions
duckdb
p50 93.0ms · p95 95.1ms
n=10 repetitions
duckdb-s3
p50 126ms · p95 137ms
n=10 repetitions
elasticsearch
p50 3.5ms · p95 5.3ms
n=10 repetitions
quickwit
p50 3.3ms · p95 3.8ms
n=10 repetitions
victorialogs
p50 337ms · p95 340ms
n=10 repetitions
status_5xx_count
status_5xx_count — p50 and p95, linear scale from zero
0.0ms
83.5ms
167ms
250ms
334ms
Siglake
p50 2.4ms · p95 2.6ms
n=10 repetitions
clickhouse
p50 50.6ms · p95 53.3ms
n=10 repetitions
clickhouse-s3
p50 254ms · p95 304ms
n=10 repetitions
duckdb
p50 60.4ms · p95 63.3ms
n=10 repetitions
duckdb-s3
p50 96.8ms · p95 120ms
n=10 repetitions
elasticsearch
p50 3.0ms · p95 4.0ms
n=10 repetitions
quickwit
p50 3.2ms · p95 3.7ms
n=10 repetitions
victorialogs
p50 59.3ms · p95 62.7ms
n=10 repetitions
substring_scan
substring_scan — p50 and p95, linear scale from zero
0.0ms
311ms
622ms
932ms
1.2s
Siglake
p50 7.8ms · p95 9.7ms
n=10 repetitions
clickhouse
p50 206ms · p95 207ms
n=10 repetitions
clickhouse-s3
p50 953ms · p95 1.1s
n=10 repetitions
duckdb
p50 3.3ms · p95 3.5ms
n=10 repetitions
duckdb-s3
p50 36.2ms · p95 45.1ms
n=10 repetitions
elasticsearch
p50 25.0ms · p95 34.5ms
n=10 repetitions
quickwit
p50 87.7ms · p95 278ms
n=10 repetitions
victorialogs
p50 2.9ms · p95 22.2ms
n=10 repetitions
top_hosts
top_hosts — p50 and p95, linear scale from zero
0.0ms
1.0s
2.0s
3.0s
4.0s
Siglake
p50 142ms · p95 169ms
n=10 repetitions
clickhouse
p50 708ms · p95 713ms
n=10 repetitions
clickhouse-s3
p50 1.4s · p95 1.6s
n=10 repetitions
duckdb
p50 259ms · p95 262ms
n=10 repetitions
duckdb-s3
p50 275ms · p95 297ms
n=10 repetitions
elasticsearch
p50 2.0s · p95 2.1s
n=10 repetitions
quickwit
p50 8.5ms · p95 9.3ms
n=10 repetitions
victorialogs
p50 3.6s · p95 3.6s
n=10 repetitions
windowed_browse_last25 Query mismatch: quickwit: measured the oldest page, not the newest. See the board footnote .
windowed_browse_last25 — p50 and p95, linear scale from zero
0.0ms
932ms
1.9s
2.8s
3.7s
Siglake
p50 29.7ms · p95 32.8ms
n=10 repetitions
clickhouse
p50 4.6ms · p95 5.2ms
n=10 repetitions
clickhouse-s3
p50 121ms · p95 175ms
n=10 repetitions
duckdb
p50 449ms · p95 451ms
n=10 repetitions
duckdb-s3
p50 447ms · p95 516ms
n=10 repetitions
elasticsearch
p50 1.1s · p95 1.3s
n=10 repetitions
quickwit
p50 49.2ms · p95 82.6ms
n=10 repetitions
victorialogs
p50 3.0s · p95 3.4s
n=10 repetitions