feat(io): open-time breakdown log

Phase 5.2. Time each open phase — parse, purge, derived-cache build on
the loader thread, plus xref resolve on the UI thread — and emit a
breakdown line on open completion:

  parse 1240ms · purge 80ms · caches 340ms · xref 60ms · total 1820ms

Makes open-time regressions (and the wins from 1.1 / 2.4) visible at a
glance. Timings ride back on DerivedCaches; total is wall time from the
Open click to post-xref.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Hakan Seven 2026-06-05 00:41:46 +03:00
commit 997538a67a
4 changed files with 42 additions and 2 deletions

View file

@ -241,7 +241,7 @@ Don't start any of the above **without measuring first**.
Gate behind `debug_assertions` or a `--features profile` flag.
### 5.2 Open-time breakdown log
### 5.2 Open-time breakdown log ✅ DONE
When open completes, push to the command line: