mentat scale benchmark: final
Environment (abridged; full detail in env.txt)
instance_type: c7i.8xlarge
kernel: 6.12.103-129.197.amzn2023.x86_64
cpu_model: Intel(R) Xeon(R) Platinum 8488C
cpus: 32
sockets/numa: 1 1
mem_total_gib: 61.8
hugepages: HugePages_Total:=0 HugePages_Free:=0 Hugepagesize:=2048
data_fs: /dev/nvme0n1p1 xfs 150G 47G 104G 31% /
mentat_git: final
duckdb: 1.5.5
postgres: postgres (PostgreSQL) 16.15
Dataset and PG size vs shared_buffers
s: 984803 datoms (1600 users, 130000 issues, 6492 history updates)
m: 9850258 datoms (16000 users, 1300000 issues, 64986 history updates)
bulk_load
| backend | scale | datoms | wall s | datoms/s | ANALYZE s | VACUUM s | store size | note |
|—|—|—:|—:|—:|—:|—:|—:|—|
point_lookup
| backend |
scale |
datoms |
clients |
op |
n |
p50 ms |
p95 ms |
p99 ms |
max ms |
ops/s |
errors |
reps |
|---|
| pg |
s |
984,803 |
1 |
read |
33687 |
0.191 |
0.649 |
0.743 |
3.265 |
3,369 |
0 |
3 |
| pg |
m |
9,850,258 |
1 |
read |
33550 |
0.191 |
0.650 |
0.743 |
3.236 |
3,355 |
0 |
3 |
ref_traversal
| backend |
scale |
datoms |
clients |
op |
n |
p50 ms |
p95 ms |
p99 ms |
max ms |
ops/s |
errors |
reps |
|---|
| pg |
s |
984,803 |
1 |
read |
10289 |
0.915 |
1.254 |
1.365 |
5.449 |
1,029 |
0 |
3 |
| pg |
m |
9,850,258 |
1 |
read |
8515 |
1.131 |
1.459 |
1.554 |
6.157 |
851.5 |
0 |
3 |
aggregate
| backend |
scale |
datoms |
clients |
op |
n |
p50 ms |
p95 ms |
p99 ms |
max ms |
ops/s |
errors |
reps |
|---|
| pg |
s |
984,803 |
1 |
read |
1088 |
9.172 |
9.708 |
10.090 |
12.763 |
108.8 |
0 |
3 |
| pg |
m |
9,850,258 |
1 |
read |
173 |
57.659 |
59.074 |
59.918 |
64.397 |
17.3 |
0 |
3 |
predicate_scan
| backend |
scale |
datoms |
clients |
op |
n |
p50 ms |
p95 ms |
p99 ms |
max ms |
ops/s |
errors |
reps |
|---|
| pg |
s |
984,803 |
1 |
read |
205 |
48.908 |
50.596 |
51.199 |
57.870 |
20.5 |
0 |
3 |
| pg |
m |
9,850,258 |
1 |
read |
99 |
612.583 |
627.577 |
682.471 |
682.471 |
1.6 |
0 |
3 |
pull
| backend |
scale |
datoms |
clients |
op |
n |
p50 ms |
p95 ms |
p99 ms |
max ms |
ops/s |
errors |
reps |
|---|
| pg |
s |
984,803 |
1 |
read |
11592 |
0.845 |
0.963 |
1.027 |
4.137 |
1,159 |
0 |
3 |
| pg |
m |
9,850,258 |
1 |
read |
11177 |
0.876 |
0.990 |
1.052 |
4.237 |
1,118 |
0 |
3 |
as_of
| backend |
scale |
datoms |
clients |
op |
n |
p50 ms |
p95 ms |
p99 ms |
max ms |
ops/s |
errors |
reps |
|---|
| pg |
s |
984,803 |
1 |
read |
5977 |
1.643 |
1.991 |
2.142 |
10.047 |
597.7 |
0 |
3 |
| pg |
m |
9,850,258 |
1 |
read |
5021 |
1.962 |
2.339 |
2.541 |
10.781 |
502.1 |
0 |
3 |
since
| backend |
scale |
datoms |
clients |
op |
n |
p50 ms |
p95 ms |
p99 ms |
max ms |
ops/s |
errors |
reps |
|---|
| pg |
s |
984,803 |
1 |
read |
5243 |
1.890 |
2.004 |
2.097 |
4.442 |
524.3 |
0 |
3 |
| pg |
m |
9,850,258 |
1 |
read |
3271 |
3.047 |
3.149 |
3.278 |
5.949 |
327.1 |
0 |
3 |
| backend |
scale |
datoms |
clients |
op |
n |
p50 ms |
p95 ms |
p99 ms |
max ms |
ops/s |
errors |
reps |
|---|
| pg |
s |
984,803 |
1 |
read |
11411 |
0.814 |
1.160 |
1.255 |
4.063 |
1,141 |
0 |
3 |
| pg |
m |
9,850,258 |
1 |
read |
10115 |
0.922 |
1.254 |
1.346 |
4.770 |
1,012 |
0 |
3 |
concurrency_sweep
| backend |
scale |
datoms |
clients |
op |
n |
p50 ms |
p95 ms |
p99 ms |
max ms |
ops/s |
errors |
reps |
|---|
| pg |
s |
984,803 |
1 |
read |
12776 |
0.793 |
1.242 |
1.368 |
3.401 |
1,278 |
0 |
3 |
| pg |
s |
984,803 |
8 |
read |
102347 |
0.823 |
1.239 |
1.381 |
6.487 |
10,235 |
0 |
3 |
| pg |
s |
984,803 |
32 |
read |
325690 |
1.113 |
1.495 |
1.582 |
14.812 |
32,569 |
0 |
3 |
| pg |
m |
9,850,258 |
1 |
read |
12625 |
0.867 |
1.215 |
1.317 |
3.276 |
1,262 |
0 |
3 |
| pg |
m |
9,850,258 |
8 |
read |
90670 |
0.906 |
1.453 |
1.592 |
7.307 |
9,067 |
0 |
3 |
| pg |
m |
9,850,258 |
32 |
read |
307182 |
1.113 |
1.700 |
1.810 |
13.666 |
30,718 |
0 |
3 |
Correctness checks
36 PASS, 0 FAIL, 0 SKIP; 2 backend check runs OK, 0 FAILED (all FAIL/FAILED lines, with annotations, in checks.txt)