Пакет для бенчмарков в Unity
Performance Testing Package — это официальное расширение для Unity Test Framework, которое позволяет удобно и быстро реализовывать бенчмарки для вашего кода.
⁕ Бенчмарк — это тест, который измеряет производительность в контролируемых условиях для получения объективных числовых показателей.
Подробнее: в оф документации.
Как пользоваться
Оно интегрируется в обычный Test Runner: и в EditMode, и в PlayMode. Но в EditMode доступны не все варианты измерений. Например, нет работы с кадрами или профайлером по понятным причинам.
Соответственно, это удобно и запускать самостоятельно, и встраивать в CI-пайплайны.
(в последний раз тут про CI писал в этом посте)
Пакет предоставляет наглядные отчёты. И эти отчёты можно выгружать в xml и csv.
Пишется это аналогично NUnit-тестами, на родном C#. Только добавляются специальные методы, которые на себя забирают много полезной рутины. По типу того, сколько делать прогонов и как часто делать замеры.
Пользоваться весьма удобно. А т.к. LLM отлично генерируют нужный код, то ещё очень просто и быстро.
Гонять бенчмарки можно не только в редакторе, но и в билде на конечном устройстве через режим Player.
Для чего использовать
- Разовое сравнение разных подходов с точки зрения производительности, если вы не можете определиться или если в команде разгорелся холивар.
- Сбор конкретных, фактически числовых показателей работоспособности вашего приложения.
- Проверка успешности проведённых оптимизаций.
- Проверка предположений об эффективности разрабатываемого алгоритма.
- Обнаружение регрессий между версиями/коммитами через сравнение текущих показателей с "эталонными" или предыдущими.
- Анализ работоспособности на разных платформах и устройствах с разной конфигурацией и характеристиками.
⚠ информация ниже проиллюстрирована на обложке ⚠
Что позволяет отслеживать
- Время выполнения методов и участков кода.
- Время выполнения кадра и кол-во потраченных кадров.
- Аллокации и потребление памяти.
- Данные профайлера через Profiler Markers.
- Разнообразные другие кастомные метрики.
Где смотреть результаты
- Непосредственно в выводе нужного теста в окне Test Runner, в кратком формате.
- В окне Window > Analysis > Performance Test Report в более подробном и наглядном виде.
- В сторонних или кастомных инструментах по экспортированным данным (🤖).
Что можно увидеть
- Количество измерений.
- Сумму всех значений.
- Минимальные и максимальные значения.
- Средние и медианные значения.
- Отклонения и стандартные отклонения.