Несмотря на то, что Apple добавляет все новые инструменты, а кто-то даже хвастается своими кастомными разработками, Time Profiler по прежнему самый основной и самый доступный инструмент для работы с производительностью. Посмотрим не только типичный сценарий, но копнем вглубь - как оно работает и что еще с этим можно сделать.
27. Signpost API
let signposter = OSSignposter()
let signpostID = signposter.makeSignpostID()
let state = signposter.beginInterval("processRequest", id: signpostID)
...
signposter.endInterval("processRequest", state)
27
37. Итого
● Не стоит полагаться на график и худший стек
● Ожидающие потоки также могут сказываться на производительности
● Signpost здорово облегчает поиск среди sample-в
37