performance.md (1693B)
1 --- 2 label: Performance & Errors 3 icon: zap 4 order: 550 5 --- 6 7 # Performance & Benchmarks 8 9 By stripping away Webpack overhead, Virtual DOM reconciliation, and heavy language servers, Veyrix operates on a fraction of the hardware requirements of modern cloud IDEs. 10 11 | Environment | Base RAM (idle) | Editor engine | Time to interactive | 12 |---|---|---|---| 13 | Veyrix IDE | ~30MB – 42MB | Ace Editor (vanilla) | < 0.5 seconds | 14 | VS Code Web | ~350MB+ | Monaco + Web Workers | 2.5 – 4 seconds | 15 | CodeSandbox | ~500MB+ | Monaco + Container VM | 4 – 8 seconds | 16 17 ## Why it's better for mobile / low-end devices 18 19 - **Debounced I/O** — IndexedDB writes are debounced by 500ms, ensuring zero main-thread blockage during rapid typing 20 - **No Monaco overhead** — Monaco is powerful but struggles on low-end Androids due to heavy worker threading; Ace Editor is substantially lighter 21 - **Visual viewport anchoring** — PWA implementations often suffer layout thrashing when the soft keyboard appears; Veyrix anchors directly to the `window.visualViewport` API, freezing the reflow 22 23 # Error Handling Behavior 24 25 ## "Incognito" / Private Mode restraints 26 27 Safari and Firefox frequently restrict or completely block IndexedDB access in Private Browsing. If `DB.init()` fails, Veyrix degrades gracefully to an in-memory volatile state. A UI toast warns the user that files will be lost when the tab closes, prompting manual downloads. 28 29 ## DOMException: QuotaExceededError 30 31 Triggered when the device runs out of disk space, or the browser's origin quota is exceeded. Veyrix catches this in the `DB.save()` promise rejection, halting autosave and notifying the user to clear space or delete older snapshots.