Loading skill
Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Native macOS/iOS app performance profiling via xctrace/Time Profiler and CLI-only analysis of Instruments traces. Use when asked to profile, attach, record, or analyze Instruments .trace files, find hotspots, or optimize native app performance without opening Instruments UI.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-01 | ✗→✓ | ▲ Improved | -33% | 0% |
| case-03 | ✗→✓ | ▲ Improved | 34% | 0% |
| case-05 | ✗→✓ | ▲ Improved | -16% | 0% |
| case-06 | ✗→✓ | ▲ Improved | -52% | 0% |
| case-08 | ✗→✓ | ▲ Improved | -65% | 0% |
Goal: record Time Profiler via xctrace, extract samples, symbolicate, and propose hotspots without opening Instruments.
1) Record Time Profiler (attach):
bash# Start app yourself, then attach xcrun xctrace record --template 'Time Profiler' --time-limit 90s --output /tmp/App.trace --attach <pid>
2) Record Time Profiler (launch):
bashxcrun xctrace record --template 'Time Profiler' --time-limit 90s --output /tmp/App.trace --launch -- /path/App.app/Contents/MacOS/App
3) Extract time samples:
bashscripts/extract_time_samples.py --trace /tmp/App.trace --output /tmp/time-sample.xml
4) Get load address for symbolication:
bash# While app is running vmmap <pid> | rg -m1 "__TEXT" -n
5) Symbolicate + rank hotspots:
bashscripts/top_hotspots.py --samples /tmp/time-sample.xml \ --binary /path/App.app/Contents/MacOS/App \ --load-address 0x100000000 --top 30
--launch.xcrun xctrace help record and xcrun xctrace help export show correct flags.scripts/record_time_profiler.sh: record via attach or launch.scripts/extract_time_samples.py: export time-sample XML from a trace.scripts/top_hotspots.py: symbolicate and rank top app frames.__TEXT load address from vmmap.--binary path; symbols must match the trace.atos.Other measured skills in the registry, with their headline benchmark lift.