Instrumenting a 5 second screen load
The account detail screen in a banking app takes 5 seconds to first display. To avoid fixing on gut feeling, into which stages would you split and measure those 5 seconds?
The account detail screen in a banking app takes 5 seconds to first display. To avoid fixing on gut feeling, into which stages would you split and measure those 5 seconds?
Split the path from screen entry to first render into five stages, request preparation, network round trip, JSON decoding, local DB query, and view setup with first layout, mark each boundary with an OSSignposter interval, and see on the os_signpost track in Instruments which stage takes most of the 5 seconds. Break the network stage down further with URLSessionTaskMetrics into DNS, connection, server wait, and transfer.
Performance and debuggingShort answerBasics
All you've got is vague feedback that "the app is slow." How do you approach that with…
#time-profiler
Performance and debuggingMultiple choiceIntro
Tapping a certain button freezes the screen for about a second. To see which function on…
#time-profiler
Performance and debuggingShort answerExpert
You run Time Profiler and 80% of main thread time lands in CA::Transaction::commit or…
#time-profiler
Performance and debuggingShort answerExpert
In Time Profiler, the top entries on the scrolling hot path are swift_retain…
#time-profiler