BenchmarkOneScript позволяет сохранить результаты выполнения бенчмарков в различных форматах. По умолчанию файлы сохраняются в каталог ./BenchmarkArtifacts относительно текущей рабочей директории.
| Аннотация | Расширение | Содержимое |
|---|---|---|
&ЭкспортMarkdown |
.md |
Информация о среде выполнения + таблица результатов |
&ЭкспортJson |
.json |
Полная сериализация результатов запуска в формате JSON |
&ЭкспортHtml |
.html |
HTML-страница с информацией о среде выполнения и таблицей результатов с CSS-стилизацией |
Файлы сохраняются по маске <ИмяТипаКласса>-report.<расширение>. Например, для класса МойБенчмарк:
./BenchmarkArtifacts/МойБенчмарк-report.html
./BenchmarkArtifacts/МойБенчмарк-report.json
./BenchmarkArtifacts/МойБенчмарк-report.md
Каталог создаётся автоматически. При каждом запуске файлы отчётов предыдущего прогона удаляются.
&ЭкспортMarkdown
&ЭкспортJson
&ЭкспортHtml
&КаталогАртефактов("path/to/artifacts")
Процедура ПриСозданииОбъекта()
// ...
КонецПроцедуры// Добавление экспортеров
Конфигурация.ДобавитьЭкспортер(ЭкспортерыРезультатовБенчмарков.Markdown);
Конфигурация.ДобавитьЭкспортер(ЭкспортерыРезультатовБенчмарков.Json);
Конфигурация.ДобавитьЭкспортер(ЭкспортерыРезультатовБенчмарков.Html);
// Установка каталога артефактов
Конфигурация.УстановитьКаталогАртефактов("path/to/artifacts");
// Получение текущего каталога артефактов
Каталог = Конфигурация.КаталогАртефактов();
// Получение списка экспортеров
Экспортеры = Конфигурация.Экспортеры();
// Сброс всех экспортеров
Конфигурация.УдалитьЭкспортеры();&ЭкспортMarkdown
&ЭкспортJson
&ЭкспортHtml
&КаталогАртефактов("./АртефактыЗапускаБенчмарков")
Процедура ПриСозданииОбъекта()
КонецПроцедуры
&Бенчмарк
Процедура Бенчмарк() Экспорт
Приостановить(100);
КонецПроцедурыBenchmarkOneScript v0.3.1, OneScript v2.0.0.567-rc7-29039316, Microsoft Windows NT 10.0.20348.0 \
Intel Core i7-8700 CPU 3.20GHz (Max: 3.19GHz) (Coffee Lake), 1 CPU, 12 logical and 6 physical cores
| Method | Mean | StdErr | StdDev | Op/s |
|----------|---------:|---------:|---------:|------:|
| Бенчмарк | 100.7 ms | 30.38 us | 117.7 us | 9.934 |
// Легенда
Mean : Арифметическое среднее всех измерений
StdErr : Стандартная ошибка всех измерений
StdDev : Стандартное отклонение всех измерений
Op/s : Операций в секунду
1 ms : 1 Миллисекунда
1 us : 1 Микросекунда
// Артефакты
C:\myapp\АртефактыЗапускаБенчмарков\ИмяКласса-report.html
C:\myapp\АртефактыЗапускаБенчмарков\ИмяКласса-report.json
C:\myapp\АртефактыЗапускаБенчмарков\ИмяКласса-report.md