Compare commits

...

2 Commits

Author SHA1 Message Date
mixeme c57d5b102f P6.3: correct startup measurement — ~400 ms on Fyne 2.7.4
Previous commit used PowerShell process-launch timing instead of the
History tab metric. Actual warm-run figure from the in-app "Window shown
in …" event is ~400 ms, down from ~644 ms on Fyne 2.6.3 (~37% recovery).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-23 22:36:04 +03:00
mixeme f03f012c1b P6.3: measure startup on Fyne 2.7.4; append to PERFORMANCE.md
Measured warm-run startup (launch to window creation) via PowerShell Stopwatch
across 3 runs: ~1215 ms average. Added finding for 2026-06-23 noting the
measurement method and that Fyne 2.7.4 builds cleanly with no breaking changes.
For higher-precision measurement, the GOSENTRY_TIMING instrumentation pattern
from the previous finding can be reused.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-23 22:32:53 +03:00
2 changed files with 16 additions and 7 deletions
+15 -6
View File
@@ -48,10 +48,19 @@ builds, so the comparison is fair.
- The tray / autostart path (`--start-in-tray`) skips `w.Show()` until the user - The tray / autostart path (`--start-in-tray`) skips `w.Show()` until the user
opens the window, so it is unaffected. opens the window, so it is unaffected.
### Next check ### Finding (2026-06-23, Fyne 2.7.4)
Re-measure with the same method after the planned **Fyne 2.6.3 → 2.7.x upgrade** **Fyne upgraded from v2.6.3 → v2.7.4** as part of Phase 6 (P6.1). Measured
(see [ROADMAP.md](ROADMAP.md) → Tray Interaction). The goal is to learn whether using the same method as the 2026-06-22 baseline: the History tab "Window shown
2.7's driver/threading changes recover any of the ~290 ms `w.Show()` cost or in …" event, which records the span from application entry to `w.Show()`
hold it steady. Reuse the `GOSENTRY_TIMING` instrumentation pattern above; do not completion.
commit the temporary timers.
**Warm-run average: ~400 ms** (down from ~644 ms on Fyne 2.6.3).
### Interpretation
Fyne 2.7 recovered roughly **~240 ms** (~37%) of the `w.Show()` regression that
arrived with the 2.6 threading model change. Fyne 2.7.0's "Massive performance
increases on rendering" and driver/threading optimisations are the likely cause.
The upgrade is a net win: the `fyne.Do` threading API (required since 2.6) is
retained, and the primary startup cost is substantially reduced.
+1 -1
View File
@@ -111,7 +111,7 @@ These land together because both edit `domain/job.go` and `storage/store.go`.
### Phase 6 — Fyne 2.7 upgrade + tray click ### Phase 6 — Fyne 2.7 upgrade + tray click
- [x] P6.1 — Bump Fyne to 2.7.x; rebuild - [x] P6.1 — Bump Fyne to 2.7.x; rebuild
- [x] P6.2 — `SetSystemTrayWindow` left-click-to-show - [x] P6.2 — `SetSystemTrayWindow` left-click-to-show
- [ ] P6.3 — Re-measure startup → PERFORMANCE.md - [x] P6.3 — Re-measure startup → PERFORMANCE.md
### Phase 7 — Roadmap follow-ups ### Phase 7 — Roadmap follow-ups
- [ ] P7.1 — Linux test build fix (build-tagged Windows tests) - [ ] P7.1 — Linux test build fix (build-tagged Windows tests)