ClickBench 100M: four runs

pg_otel_probe reports from October 30, 2026. Each run executed 43 queries three times on PostgreSQL 19beta3, with no errors. Container: 32 CPUs, 40 GB limit, NVMe.

Metrics with the probe on

Run Hot,
mean
Hot,
total
Cold,
mean
Cold,
total
GPU on Parquet 18.1 ms1.19 s378 ms≈26.55 s
GPU on MergeTree 34.9 ms6.20 s279 ms≈28.62 s
CPU on Parquet 157.3 ms16.14 s≈275 ms≈20.65 s
CPU on MergeTree 78.2 ms9.42 s≈153 ms≈13.58 s

Reports

GPU · Parquet · gpu-parquet/

GPU on Parquet

The vexec executor on the GPU reads the hits_pq6 table through vexec_parquet. This is the fastest hot run, but the first try costs far more than the others.

Probe on / off
mean 18.1 / 18.1 ms, total 1.19 / 1.20 s, cold 378 / 372 ms
Recorded
634 statements, 29.20 s, peak of 2 backends
Database size
31.6 MB
Findings
1 medium (A25: 497 psql sessions, 2.1 % of the time), 3 low
GPU · MergeTree · gpu-mergetree/

GPU on MergeTree

The vexec executor on the GPU, with the hits table in MergeTree. Five queries (Q34, Q33, Q27, Q28, Q20) make up 83 % of the hot total: they are the only ones still sending data to the GPU on the third try.

Probe on / off
mean 34.9 / 34.5 ms, total 6.20 / 6.14 s, cold 279 / 284 ms
Recorded
615 statements, 47.05 s, peak of 19 backends
Database size
60.1 GB
Findings
1 medium (A25: 475 psql sessions, 1.4 % of the time), 2 low
CPU · Parquet · vpcpu-parquet/

CPU on Parquet

Runs on the CPU through vp_cpu, with vexec_parquet storage and the hits_pq6 table. Faster than ClickHouse on 35 of 43 queries, with correct answers.

VP7, no probe
mean 158.4 ms, total 16.23 s
ClickHouse
mean 229.1 ms, total 21.23 s (VP7's run)
Recorded
137 statements, 53.27 s, peak of 34 backends
Database size
31.6 MB
Findings
3 low
CPU · MergeTree · vpcpu-mergetree/

CPU on MergeTree

Runs on the CPU through vp_cpu, with the hits table in MergeTree. Faster than ClickHouse on 11 of 43 queries, with correct answers.

VP7, no probe
mean 79.1 ms, total 9.14 s
ClickHouse
mean 67.4 ms, total 7.99 s (VP7's run)
Recorded
140 statements, 32.95 s, peak of 35 backends
Database size
60.1 GB
Findings
2 low

How to read the numbers