Time Profiler: повышение производительности с помощью ИИ
Всем привет! Нашел интересную , где автор делится опытом использования Time Profiler в связке с ИИ-агентами. Устройства сейчас действительно быстрые чем раньше и потребность в профилировании снизилась. Но это не значит, что проблем с производительностью больше нет. Просто мы перестали их замечать.
Кейс - ускорение в 25 раз:
Автор взял конкретную задачу - загрузку accessibility-элементов в RocketSim. На одном экране с 70+ элементов это занимало 12 секунд. Вместе с ИИ-агентом они прошли несколько итераций:
12 с -> 4 с (в 3 раза быстрее).
4 с -> 2,5 с (еще в 2 раза).
2,5 с -> 525 мс (в 23 раза).
525 мс -> 485 мс (финальные 25 раз).
Ключевой момент: если бы остановились на первой итерации, решив, что «и так неплохо», результат был бы в 25 раз хуже.
Как это работает:
У автора уже был CLI для RocketSim. ИИ-агент мог запускать его до и после изменений, сравнивать результаты и отменять правки, если стало хуже. Для анализа использовался Time Profiler с добавленными signpost (чтобы код был виден в инструменте).
Процесс выглядит так:
Агент вносит изменения в код.
Разработчик запускает приложение в Instruments с шаблоном Time Profiler и signpost.
Копирует результаты (интервалы signpost и глубокую копию Time Profiler).
Отдает агенту с запросом: «Проанализируй и предложи план дальнейших оптимизаций».
Цикл повторяется, пока агент не скажет, что быстрее уже не сделать.
Советы:
Добавьте в приложение CLI - не для прода, а чтобы агент мог сам проверять улучшения.
В Time Profiler используйте фильтры: Separate by Thread, Hide System Libraries. Это сокращает вывод и оставляет только важное.
Следите за токенами. Иногда достаточно скопировать только глубокую копию Time Profiler, без signpost.
Если результат не улучшается после нескольких итераций, агент сам скажет, что дальше оптимизировать нечего.
Кому может быть полезно:
Разработчикам, которые хотят ускорить свои приложения, но не знают, с чего начать.
Тем, кто использует ИИ-агентов в своей работе и хочет дать им реальные данные о производительности, а не гадать на кофейной гуще.
Разработчикам инструментов и SDK, где важна скорость работы (CLI, accessibility, обработка больших объемов данных).
Вывод:
Instruments не умерли. Они просто стали реже нужны - но когда они нужны, без них никуда. А с ИИ-агентами процесс становится еще эффективнее: вы не тратите часы на анализ стеков, а просто даете агенту данные и получаете готовый план оптимизаций. И да, 25-кратное ускорение - не предел. Все упирается в то, как часто вы готовы запускать этот цикл.