Запускает бенчмарки по указанному файлу, имени класса или директории.
benchos run [OPTIONS] [FILE]Аргумент [FILE] задает источник бенчмарков для запуска. Можно передать один или несколько аргументов.
Поддерживаются следующие варианты:
- имя файла в текущей директории:
МойКласс.os; - имя без расширения, если файл
МойКласс.osнаходится в текущей директории:МойКласс; - абсолютный или относительный путь к
.os-файлу; - путь к каталогу с файлами бенчмарков.
Особенности:
- если передан каталог, CLI ищет в нем файлы
*.os, а с опцией-rделает это рекурсивно; - если явно передан
.os-файл без методов с&Бенчмарк, CLI считает, что в файле в сценарии расположен один алгоритм; - если передано несколько
.os-файлов без методов с аннотацией&Бенчмарк, каждый из них запускается отдельно, а результаты объединяются в один общий отчет; - при запуске каталога ожидаются обычные файлы бенчмарков с аннотациями.
| Опция | Описание | По умолчанию | Пример |
|---|---|---|---|
--iterationCount |
Количество измерительных итераций | 15 |
--iterationCount 10 |
--iterationTime |
Минимальное время выполнения одной итерации (мс) | 100 |
--iterationTime 500 |
--warmupCount |
Количество прогревочных итераций | 6 |
--warmupCount 10 |
--invocationCount |
Количество вызовов метода за итерацию (0 = авто) | 0 |
--invocationCount 100 |
--runtime |
Версии OneScript через запятую (current, stable, dev, x.x.x) |
--runtime dev,stable |
|
--throughput |
Стратегия выполнения ПропускнаяСпособность |
||
--coldstart |
Стратегия выполнения ХолодныйЗапуск |
||
-m, --memory |
Включить мониторинг использования памяти | ||
-e, --exporters |
Форматы экспорта результатов через запятую: md, json, html |
-e json,html |
|
-a, --artifacts |
Каталог для сохранения результатов | .\BenchmarkArtifacts |
-a path/to/dir |
-p, --param |
Общий параметр бенчмарков в формате <Поле>=<Значение>; поддерживаются Число, Строка, Булево |
-p Количество=100 -p Количество=500 -p "СтроковойПараметр=test value" -p Флаг=true |
|
-r, --recursive |
Рекурсивный поиск в поддиректориях | ||
--settings |
Файл настроек бенчмарков в формате JSON | --settings path/to/settings.json |
|
--debug |
Порт отладки | --debug 2801 |
- Опции
--throughputи--coldstartвзаимно исключают друг друга. - Значение
--invocationCount 0включает автоматический расчёт количества вызовов за итерацию. - Опции
--warmupCount,--invocationCount,--iterationTimeигнорируются при стратегии--coldstart. - Повторяйте
-p/--param, чтобы передать несколько общих параметров.
Таймаут ожидания завершения процесса бенчмарка в секундах (По умолчанию: 600 секунд).
Пример:
$env:BENCHOS_PROCESS_TIMEOUT=120
benchos run /path/to/МойКласс.os# Запуск по имени класса (файл МойКласс.os должен существовать в текущей директории)
benchos run МойКласс
# Запуск по имени файла в текущей директории
benchos run МойКласс.os
# Запуск по абсолютному пути
benchos run /path/to/МойКласс.os
# Запуск обычного файла без аннотаций &Бенчмарк
benchos run /path/to/Алгоритм.os
# Запуск нескольких plain .os-файлов с одним общим отчетом
benchos run /path/to/Алгоритм1.os /path/to/Алгоритм2.os
# Запуск всех бенчмарков в директории
benchos run /path/to/benchmarks
# Запуск всех бенчмарков в директории, включая вложенные каталоги
benchos run -r /path/to/benchmarks
# Рекурсивный запуск с мониторингом памяти и экспортом в JSON и HTML
benchos run -r -m -e 'json, html' ./benchmarks/
# Холодный запуск с 10 итерациями
benchos run --coldstart --iterationCount 10 /path/to/МойКласс.os
# Запуск с общими параметрами бенчмарков
benchos run -p Количество=100 -p Количество=500 -p "СтроковойПараметр=test value" -p Флаг=true /path/to/МойКласс.os