summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-02-18 12:45:11 -0800
committerFuwn <[email protected]>2026-02-18 12:45:19 -0800
commit2aaf7665047f61e72495b99b6caaef54d19332fe (patch)
treec82cbc7a8b99bdc2eb59e75748c2c18bb9d39713 /docs
parentperf: memoize post grid derived collections and remove columns cache (diff)
downloadsora-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.md92
-rw-r--r--docs/perf/2026-02-18-baseline.md1
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`.