sparse-storage-benchmark.json
docs/evidence/sparse-storage-benchmark.json
1{
2 "format": 1,
3 "date": "2026-10-24T19:05:50.357Z",
4 "engine": "0.1.0",
5 "fixture": "sparse-storage.1",
6 "git": {
7 "commit": "39c7ee236764fa554501de707edb5f1782020ee0",
8 "dirty": false
9 },
10 "platform": "linux",
11 "os": "7.2.8-9-omarchy",
12 "cpu": "Intel(R) Core(TM) Ultra X7 358H",
13 "node": "v22.23.4",
14 "entities": 8192,
15 "selected": 128,
16 "warmup": 30,
17 "samples": 180,
18 "milliseconds": {
19 "selectedUpdate": {
20 "p50": 0.12474700000001349,
21 "p95": 0.18726100000000656,
22 "p99": 0.25165300000000457
23 },
24 "fullQuery": {
25 "p50": 0.424365999999992,
26 "p95": 0.6753520000000037,
27 "p99": 1.0475819999999771
28 }
29 },
30 "churn": {
31 "replacements": 12800,
32 "before": {
33 "live": 8192,
34 "allocated": 8192,
35 "retired": 0,
36 "maxEntities": 8192,
37 "entityTypedBytes": 98304,
38 "components": {
39 "Position": {
40 "kind": "numeric-columns",
41 "rows": 8192,
42 "capacity": 8192,
43 "numericColumns": 3,
44 "typedBytes": 262144
45 },
46 "Selected": {
47 "kind": "numeric-columns",
48 "rows": 128,
49 "capacity": 128,
50 "numericColumns": 1,
51 "typedBytes": 1152
52 }
53 }
54 },
55 "after": {
56 "live": 8192,
57 "allocated": 8192,
58 "retired": 0,
59 "maxEntities": 8192,
60 "entityTypedBytes": 98304,
61 "components": {
62 "Position": {
63 "kind": "numeric-columns",
64 "rows": 8192,
65 "capacity": 8192,
66 "numericColumns": 3,
67 "typedBytes": 262144
68 },
69 "Selected": {
70 "kind": "numeric-columns",
71 "rows": 128,
72 "capacity": 128,
73 "numericColumns": 1,
74 "typedBytes": 1152
75 }
76 }
77 }
78 },
79 "checksum": 7045570560,
80 "snapshotSha256": "3ff3dcaf6a4622db791e6015bd6e09e5e51b6bb73f3b250ead7cece44be16868",
81 "scope": "Isolated ECS mutation/query/slot-reuse workload. Not whole-world simulation, GPU, physics or multiplayer capacity. Typed byte counts exclude JS object and journal payload memory."
82}
83