Same world · four renderers
Game of Life runtime comparison
Four production builds render the same finite board, controls, presets, accessibility contract, and visual system. Lower timings are better; the fastest result in each row is highlighted.
Kineticadev · 98.3 KB gzip
React19.2.7 · 62.3 KB gzip
Compose HTML1.11.1 · 177.3 KB gzip
Vanillabrowser DOM · 4.1 KB gzip
Measured performance
Median of 5 measured runs after 1 warmup; milliseconds and slowdown versus the fastest implementation per operation.
| Operation | Kinetica | React | Compose HTML | Vanilla |
|---|---|---|---|---|
| Cold startup + 3,456-cell mount | 66.90 ms1.88× | 56.00 ms1.57× | 107.40 ms3.02× | 35.60 ms1.00× |
| Load 48-cell Pulsar preset | 21.42 ms1.00× | 21.87 ms1.02× | 34.62 ms1.62× | 27.18 ms1.27× |
| Advance Pulsar one generation | 24.23 ms1.00× | 28.43 ms1.17× | 31.85 ms1.31× | 24.82 ms1.02× |
| Populate 24% of the 3,456-cell board | 140.39 ms1.18× | 155.99 ms1.31× | 140.28 ms1.18× | 118.71 ms1.00× |
| Advance a randomized board one generation | 121.97 ms1.04× | 149.87 ms1.28× | 128.78 ms1.10× | 116.83 ms1.00× |
| Toggle one editable board cell | 14.50 ms1.08× | 18.93 ms1.41× | 13.75 ms1.03× | 13.41 ms1.00× |
| Clear the 48-cell Pulsar | 21.00 ms1.04× | 20.15 ms1.00× | 33.28 ms1.65× | 20.25 ms1.00× |
Durations use the same trace parser as Kinetica’s framework benchmark: click dispatch through the last paint/commit. Interaction traces request reduced motion so the shared 160 ms cell-birth decoration cannot mask renderer work. Startup includes loading the production bundle and mounting 3,456 interactive cells. Randomized runs use the same cross-language seeded sequence at 24% density, producing a fresh but identical workload for every renderer. Results are machine-specific. Download raw samples and environment metadata.