diff options
| author | Fuwn <[email protected]> | 2026-02-18 12:45:11 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2026-02-18 12:45:19 -0800 |
| commit | 2aaf7665047f61e72495b99b6caaef54d19332fe (patch) | |
| tree | c82cbc7a8b99bdc2eb59e75748c2c18bb9d39713 /docs | |
| parent | perf: memoize post grid derived collections and remove columns cache (diff) | |
| download | sora-testing-2aaf7665047f61e72495b99b6caaef54d19332fe.tar.xz sora-testing-2aaf7665047f61e72495b99b6caaef54d19332fe.zip | |
chore: finalise performance optimisation batch and metrics
Diffstat (limited to 'docs')
| -rw-r--r-- | docs/perf/2026-02-18-after.md | 92 | ||||
| -rw-r--r-- | docs/perf/2026-02-18-baseline.md | 1 |
2 files changed, 93 insertions, 0 deletions
diff --git a/docs/perf/2026-02-18-after.md b/docs/perf/2026-02-18-after.md new file mode 100644 index 0000000..00cb48a --- /dev/null +++ b/docs/perf/2026-02-18-after.md @@ -0,0 +1,92 @@ +# 2026-02-18 After Metrics + +## Scope +- Task 8 final verification after performance and redundancy optimisation tasks. +- Includes dead-code cleanup, derived-data hot-path cleanup, and shuffle-order stability changes. + +## Commands Run + +### Full test suite via app scheme +```bash +xcodebuild -project Sora.xcodeproj -scheme Sora -destination 'platform=iOS Simulator,name=iPhone 17 Pro' test +``` +Result: success. + +Summary: +- `SoraTests` executed: `14` +- failures: `0` + +### Format and lint +```bash +just format && just lint +``` +Result: success. + +### Debug simulator build +```bash +just build_ios_simulator Debug +``` +Result: success. + +## Timing Snapshots + +### Full test suite +Command: +```bash +/usr/bin/time -p sh -c "xcodebuild -project Sora.xcodeproj -scheme Sora -destination 'platform=iOS Simulator,name=iPhone 17 Pro' test > /tmp/sora_task8_full_test.log 2>&1" +``` +Timing: +- real: `8.51s` +- user: `1.60s` +- sys: `1.23s` + +### Format and lint +Command: +```bash +/usr/bin/time -p sh -c "just format && just lint" +``` +Timing: +- real: `0.66s` +- user: `1.33s` +- sys: `0.14s` + +### Debug simulator build +Command: +```bash +/usr/bin/time -p just build_ios_simulator Debug +``` +Timing: +- real: `2.21s` +- user: `0.88s` +- sys: `0.45s` + +## Static Code-Path Checks + +Post-grid derived-data hot path: +- `PostGridView.activePosts` references: `0` +- `PostGridView.getColumnsData` invocations: `0` + +Generic list derived-data symbols: +- `filteredItems` references: `0` +- `sortedFilteredItems` references: `0` +- comparator `Bool.random()` calls: `0` + +Favorites derived-data symbols: +- `filteredFavorites` references: `0` +- `sortedFilteredFavorites` references: `0` +- comparator `Bool.random()` calls: `0` + +Booru manager dead parser-pool paths: +- `xmlParserPool` references: `0` +- `parserPoolLock` references: `0` +- `xmlParser(` invocations: `0` +- `returnXMLParser(` invocations: `0` + +## Render And Behaviour Notes +- Post-grid derived post list and column layout are refreshed only on explicit dependency changes (`posts`, rating filters, column count). +- Generic and favorites shuffle now uses stable shuffled order maps; reordering occurs on explicit shuffle trigger or changed source item sets. +- Existing source-analysis regression tests for derived-data paths pass. + +## Remaining Warnings +- Existing Xcode project warning remains: + - `Sora.xcodeproj`: Copy Bundle Resources includes `Sora/Resources/Info.generated.plist`. diff --git a/docs/perf/2026-02-18-baseline.md b/docs/perf/2026-02-18-baseline.md index 9240ad6..bdea2d2 100644 --- a/docs/perf/2026-02-18-baseline.md +++ b/docs/perf/2026-02-18-baseline.md @@ -90,3 +90,4 @@ Timing: ## Notes - Existing warning observed during build/test: - `Sora.xcodeproj`: Copy Bundle Resources includes `Sora/Resources/Info.generated.plist`. +- Follow-up metrics and final verification are recorded in `docs/perf/2026-02-18-after.md`. |