A note on Editor performance
summary
Fonto is a browser WYSIWYM XML editor implemented in JavaScript/React that now handles multi‑megabyte docs and can scale to gigabytes with just-in-time loading. Configuration registers about 23-ish properties per element, so the team builds selector buckets, XPath buckets and a Bayesian predictor that cuts evaluated XPaths and improves startup by roughly 8%. XPath uses lazy iteration and bucket early-fails; schemas are precompiled to JSON/NFAs and indices plus a mutation-observer-driven cache make many queries index-backed queries constant-time.
AI-written summary · about
chapters (13)
- 0:00Intro
- 0:51About FontoXML
- 2:53Filter performance
- 4:53Accessing configuration
- 9:47Order of evaluation
- 13:22Processing HTML
- 14:20Expert paths
- 16:44Update facility
- 18:49Optimizations
- 20:27Mutation Observers
- 22:20Comparison with XSLT
- 24:34Future work
- 26:36Questions
related talks
36mA Modern Editor Built in Rust
08mDraft.js, Editor.js, Slate.js: Choosing Text Editor
22mA New Way to Build for the Web
30mDX in the frontend developer ecosystem
44mThe document’s journey from file to editing: processing 1,000 pages and not dying
57mOptimizing Frontend Performance of a High-Load Search
46mHow We Built a Web Document Editor
42mBuilding a reactive multi user document editor in ScalaJS
