# Editor engine benchmark

Generated 2026-08-26T15:43:59.309Z on Apple M4.

## Scope

- Full Tiptap: this repository's existing `@headless-markdown/react` preset, one editable document, Markdown and JSON generated on each update.
- Lexical: one rich-text editor with React rich-text, history, and change plugins.
- Widget-first: one rich-text widget containing all measured paragraphs, with Lexical loaded only after the first widget enters edit mode.
- Sizes: 100, 2000 paragraphs or blocks. 5 cold and 5 warm samples at CPU rates 1x, 4x.

These cases are product architectures, not feature-identical editor cores. Raw data records the cost of those choices.

## Production payload

| Engine | Initial KiB | Initial gzip KiB | Initial brotli KiB | Async JS gzip KiB |
| --- | ---: | ---: | ---: | ---: |
| tiptap | 767.2 | 242.0 | 204.4 | 0.0 |
| lexical | 416.3 | 133.4 | 113.7 | 0.0 |
| widgets | 211.2 | 66.9 | 57.7 | 99.7 |

## Artifacts

- `raw.json`: every browser sample and bundle file.
- `summary.json`: p50, p95, minimum, and maximum by engine, size, cache state, and CPU rate.

The final analysis is added after checking the raw distributions for noise and failed runs.
