summaryrefslogtreecommitdiff
path: root/docs/perf/2026-02-18-after.md
blob: 00cb48a576070abed1b276a3d92b481d1415f0ae (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
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`.