Утилита позволяет замерить производительность 2х кусков кода на android устройстве.
Консольное приложение:
-
Ищет исходники в папке
in
: вimports1.kt
импорты первого тестируемого куска исходного кода вsource1.kt
сам первый тестируемый кусок кода аналогичноimports2.kt
иsource2.kt
для второго тестируемого куска кода. -
Собирает
RELEASE
сборку -
Ищет первое попавшееся подключенное android-устройство и запускает на нем оба куска кода по 500000 раз, делая замеры.
-
В конце запуска в консоль выводится:
название устройства
:результаты первого куска кода
vsрезультаты второго
в мс.
Основной класс, который запускает все замеры - PerformanceLauncher
.
- Нужно создать config.json с конфигурацией запусков
{
"appId": "ApplicationId приложения",
"startActivityName": "Стартовая Activity приложения, либо пустая строка если нужна произвольная adb shell команда",
"startActivityAdbShellCommand": "Adb shell команда для старта Activity"
"measurementCount": Количество запусков на каждую сборку apk (не включая первый dry запуск),
"measurementName1": "Название замера первой apk",
"measurementName2": "Название замера второй apk",
"shouldDeleteBeforeInstall": true - если нужно удалить приложение перед установкой новой apk, иначе - false,
"apkPath1": "Путь к apk1",
"apkPath2": "Путь к apk2",
"logcatFilter": "Тэг, используемый для фильтрации логов",
"logcatValuesRegexPattern": "Regex паттер, должен иметь минимум 2 группы, первая для имени замера, вторая для значения",
"stopDryRunParameterName": "Стоп слово для завершения первого dry запуска, значения которого не учитываются",
"lastParameterName": "Названия последнего замера, после которого можно остановить приложение",
"permissions": [Список permission которые нужно дать приложению после установки]
}
Для построения графиков используется библиотека https://echarts.apache.org/en/index.html