Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
0c3ba6b
Начало
Stivo182 Sep 8, 2025
3d65698
Сериализация/десериализация json
Stivo182 Oct 17, 2025
b1a2979
Исправления по замечания coderabbit
Stivo182 Oct 17, 2025
d3e55ec
Изменение сериализацие таблиц значений в json. Заданы имена сериализу…
Stivo182 Oct 18, 2025
fe3ba8c
Улучшения по замечаниям coderabbitai
Stivo182 Oct 19, 2025
edd2140
Исправления по замечаниям coderabbitai
Stivo182 Oct 19, 2025
85b4e5a
refactor: Рефакторинг результатов бенчмарков
Stivo182 Jan 28, 2026
591215e
chore: Добавлены версии OneScript в воркфлоу тестирования
Stivo182 Jan 28, 2026
e2d5475
Исправлены замечания
Stivo182 Jan 28, 2026
f61a448
Исправлены замечания
Stivo182 Jan 28, 2026
8a13bad
Merge branch 'main' into refactor/config-serialization
Stivo182 Jan 28, 2026
bad4059
Изменена сериализация коллекции дескрипторов. Запись настроек бенчмар…
Stivo182 Jan 29, 2026
04fd200
Merge branch 'refactor/config-serialization' of github.com:Stivo182/B…
Stivo182 Jan 29, 2026
dbff289
Тест локали
Stivo182 Jan 29, 2026
192ab5b
Тест локали
Stivo182 Jan 29, 2026
12c4f03
Локали для остальных воркфлоу
Stivo182 Jan 29, 2026
285024f
Исправление замечаний
Stivo182 Jan 29, 2026
b260bbb
Рефакторинг
Stivo182 Jan 29, 2026
7c8d241
Восстановлена проверка типа сортируемой колонки
Stivo182 Jan 29, 2026
9ed0eb3
Из-за локали дата плохо тестируется
Stivo182 Jan 29, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 5 additions & 1 deletion .bsl-language-server.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
"listOfIncorrectFirstSymbol": ";|,\\s*\\S+"
},
"Typo": {
"userWordsToIgnore": "Бенчмаркинг,Бенчмарк,бенчмарк,Бенчмарки,бенчмарки,Бенчмарков,бенчмарков,Бенчмарка,бенчмарка,Бенчмарку,Прогревочных,прогревочных,Запускатель,запускатель,Распарсить,распарсить,Регулярка,Воркер,Сериализовать,Сериализации,Сериализуемые,Сериализуется,Сериализацию,сериализацию,сериализуемым,сериализован,Несериализуемых,Валидатор,Алиас"
"userWordsToIgnore": "Дто,Бенчмаркинг,Бенчмарк,бенчмарк,Бенчмарки,бенчмарки,Бенчмарков,бенчмарков,Бенчмарка,бенчмарками,бенчмарка,Бенчмарку,Прогревочных,прогревочных,Десериализованный,Десериализуемые,Сериализуемый,Сериализуемое,Несериализуемое,Запускатель,запускатель,Распарсить,распарсить,Регулярка,Воркер,Десериализатор,Сериализовать,Сериализации,Сериализуемые,Сериализацией,Сериализуется,Сериализацию,сериализацию,сериализуемым,сериализован,Десериализации,Несериализуемых,Валидатор,Валидировать,Алиас"
},
"LatinAndCyrillicSymbolInWord": false,
"MagicNumber": {
"authorizedNumbers": "-1,0,1,2"
}
}
}
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@ jobs:
with:
package_mask: "benchmark-*.ospx"
dotnet_version: "8.x.x"
locale: "en_US"
secrets:
PUSH_TOKEN: ${{ secrets.PUSH_TOKEN }}
1 change: 1 addition & 0 deletions .github/workflows/sonar.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,5 +13,6 @@ jobs:
github_repository: Stivo182/BenchmarkOneScript
dotnet_version: "8.x.x"
build_package: true
locale: "en_US"
secrets:
SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
3 changes: 2 additions & 1 deletion .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ jobs:
with:
oscript_version: ${{ matrix.oscript_version }}
dotnet_version: "8.x.x"
build_package: true
build_package: true
locale: "en_US"
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
<!DOCTYPE html>
<html lang='ru'>
<head>
<meta charset='utf-8' />

<style type="text/css">
table { border-collapse: collapse; display: block; width: 100%; overflow: auto; }
td, th { padding: 6px 13px; border: 1px solid #ddd; text-align: right; }
tr { background-color: #fff; border-top: 1px solid #ccc; }
tr:nth-child(even) { background: #f8f8f8; }
</style>
</head>
<body>
<pre><code>BenchmarkOneScript v0.1.x-mock, OneScript v2.0.0-mock, Microsoft Windows NT 10.0.x.mock
MockIntel Core i7-6700HQ CPU 2.60GHz (Max: 3.10GHz), 1 CPU, 8 logical and 4 physical cores</code></pre>
<table>
<thead>
<tr>
<th>
Method
</th>
<th>
Значение
</th>
<th>
П1
</th>
<th>
П2
</th>
<th>
П
</th>
<th>
Mean
</th>
<th>
StdErr
</th>
<th>
StdDev
</th>
<th>
Min
</th>
<th>
Max
</th>
<th>
Op/s
</th>
</tr>
</thead>
<tbody>
<tr>
<td>
БенчмаркВторой
</td>
<td>
100
</td>
<td>

</td>
<td>

</td>
<td>
Массив
</td>
<td>
1.0 ms
</td>
<td>
0.0 ns
</td>
<td>
0.0 ns
</td>
<td>
1.0 ms
</td>
<td>
1.0 ms
</td>
<td>
1,000
</td>
</tr>
<tr>
<td>
БенчмаркПервый
</td>
<td>
100
</td>
<td>
1
</td>
<td>
Тест
</td>
<td>

</td>
<td>
1.0 ms
</td>
<td>
0.0 ns
</td>
<td>
0.0 ns
</td>
<td>
1.0 ms
</td>
<td>
1.0 ms
</td>
<td>
1,000
</td>
</tr>
</tbody>
</table>
</body>
</html>
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
- **Мониторинг памяти:** отслеживание аллокации памяти во время выполнения.
- **Мультиверсионное сравнение:** запуск бенчмарков на указанных версиях исполняющей среды OneScript с консолидацией результатов.
- **Метрики:** время выполнения (среднее, минимум, максимум), стандартное отклонение и ошибка, операций в секунду (Op/s), квартили и произвольные процентили.
- **Экспорт результатов:** сохранение результатов выполнения бенчмарков в Markdown, JSON, XML, HTML.
- **Экспорт результатов:** сохранение результатов выполнения бенчмарков в Markdown, JSON, HTML.

## 🚀 Быстрый старт

Expand Down
4 changes: 2 additions & 2 deletions docs/CLI.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,10 +20,10 @@ benchos run [OPTIONS] [FILE]
| `--throughput` | Стратегия выполнения [`ПропускнаяСпособность`](СтратегииЗапуска.md#пропускная-способность-throughput) | |
| `--coldstart` | Стратегия выполнения [`ХолодныйЗапуск`](СтратегииЗапуска.md#холодный-запуск-cold-start) | |
| `-m`, `--memory` | Включить [мониторинг использования памяти](МониторингПамяти.md) | |
| `-e`, `--exporters` | Форматы [экспорта результатов](ЭкспортРезультатов.md) (`md`, `json`, `xml`, `html`) | `-e json,xml` |
| `-e`, `--exporters` | Форматы [экспорта результатов](ЭкспортРезультатов.md) (`md`, `json`, `html`) | `-e json,html` |
| `-a`, `--artifacts` | Каталог для сохранения результатов | `-a path/to/file` |
| `-r`, `--recursive` | Рекурсивный поиск в поддиректориях | |
| `-c`, `--config` | Файл конфигурации бенчмарков в формате JSON | `-c path/to/config.json` |
| `--settings` | Файл настроек бенчмарков в формате JSON | `--settings path/to/settings.json` |

## Примеры

Expand Down
7 changes: 4 additions & 3 deletions docs/ОбработчикиСобытий.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@
```bsl
// Параметры:
// * Контекст - Структура:
// ** ДескрипторыБенчмарков - КоллекцияДескрипторовБенчмарков
// ** Конфигурация - КонфигурацияБенчмарков
// ** Расшифровка - см. МенеджерРасшифровкиРезультатовБенчмарков.НоваяТаблицаРасшифровки
// ** ДескрипторыБенчмарков - КоллекцияДескрипторовБенчмарков
// ** Запуски - Массив из РезультатЗапускаБенчмаркаДто
// ** Отчет - ОтчетБенчмарков
// ** СредаОкружения - СредаОкруженияБенчмарков
&ПослеВсех
Процедура ПослеВсех(Контекст) Экспорт
```
Expand All @@ -57,7 +58,7 @@
// * Контекст - Структура:
// ** ДескрипторБенчмарка - ДескрипторБенчмарка
// ** Параметры - Массив из ПараметрБенчмарка
// ** Замеры - ТаблицаЗначений - см. МенеджерРасшифровкиРезультатовБенчмарков.НоваяТаблицаЗамеров
// ** Замеры - Массив из РезультатИтерацииБенчмаркаДто
// ** Статистика - СтатистикаБенчмарка
&ПослеКаждого
Процедура ПослеКаждого(Контекст) Экспорт
Expand Down
4 changes: 0 additions & 4 deletions docs/ЭкспортРезультатов.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,6 @@
```bsl
&ЭкспортMarkdown
&ЭкспортJson
&ЭкспортXml
&ЭкспортHtml
Процедура ПриСозданииОбъекта()
```
Expand All @@ -35,7 +34,6 @@
```bsl
// Добавление экспортера (например, для JSON)
Конфигурация.ДобавитьЭкспортер(ЭкспортерыРезультатовБенчмарков.Json);
// ЭкспортерыРезультатовБенчмарков.Xml
// ЭкспортерыРезультатовБенчмарков.Html
// ЭкспортерыРезультатовБенчмарков.Markdown

Expand All @@ -51,7 +49,6 @@
```bsl
&ЭкспортMarkdown
&ЭкспортJson
&ЭкспортXml
&ЭкспортHtml
&КаталогАртефактов("./АртефкатыЗапускаБенчмарков")
Процедура ПриСозданииОбъекта()
Expand Down Expand Up @@ -85,5 +82,4 @@ Op/s : Операций в секунду
C:\myapp\АртефкатыЗапускаБенчмарков\ИмяКласса-report.html
C:\myapp\АртефкатыЗапускаБенчмарков\ИмяКласса-report.json
C:\myapp\АртефкатыЗапускаБенчмарков\ИмяКласса-report.md
C:\myapp\АртефкатыЗапускаБенчмарков\ИмяКласса-report.xml
```
5 changes: 4 additions & 1 deletion packagedef
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@
.Версия("0.6.0")
.Автор("Dmitry Ivanov")
.АдресАвтора("https://github.com/Stivo182")
.АдресРепозитория("https://github.com/Stivo182/BenchmarkOneScript")
.Описание("Бенчмаркинг на OneScript")
.ВерсияСреды("1.9.3")
.ВключитьФайл("src/BenchmarkOneScript")
Expand All @@ -26,12 +27,14 @@
.ЗависитОт("coloratos", "0.3.0")
.ЗависитОт("fluent", "0.6.1")
.ЗависитОт("lambdas", "0.3.2")
.ЗависитОт("xml-parser", "0.1.1")
.ЗависитОт("logos", "1.7.1")
.ЗависитОт("fs", "1.2.0")
.ЗависитОт("tempfiles", "1.1.1")
.ЗависитОт("packageinfo", "1.1.1")
.ЗависитОт("1commands", "1.5.0")
.ЗависитОт("validate", "0.3.0")
.ЗависитОт("reflector", "0.7.1")
.ЗависитОт("collectionos", "0.8.2")
.РазработкаЗависитОт("1testrunner")
.РазработкаЗависитОт("coverage")
.ИсполняемыйФайл("src/BenchmarkOneScript/cmd/main.os", "benchos")
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
Порог = 150; // мс

Результат = Бенчмаркинг.Запустить(Тип("БенчмаркБазовый"));
Статистика = Результат.Расшифровка[0].Статистика.ВМиллисекунды();
Статистика = Результат.Запуски[0].Статистика.ВМиллисекунды();

Ожидаем.Что(Статистика.Среднее).Меньше(Порог);

Expand All @@ -23,7 +23,7 @@
ДескрипторБенчмарка = ДескрипторыБенчмарков.НайтиПоИмени("А2");

Результат = Бенчмаркинг.Запустить(ДескрипторБенчмарка);
Статистика = Результат.Расшифровка[0].Статистика.ВМиллисекунды();
Статистика = Результат.Запуски[0].Статистика.ВМиллисекунды();

Ожидаем.Что(Статистика.Среднее).Меньше(Порог);

Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
&ЭкспортMarkdown
&ЭкспортJson
&ЭкспортXml
&ЭкспортHtml
Процедура ПриСозданииОбъекта()
КонецПроцедуры
Expand Down
28 changes: 0 additions & 28 deletions src/BenchmarkOneScript.Extensions/ObjectExtension.cs

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
//
// Параметры:
// Контекст - Структура:
// * ДескрипторыБенчмарков - КоллекцияДескрипторовБенчмарков
// * Конфигурация - КонфигурацияБенчмарков
// * Расшифровка - см. МенеджерРасшифровкиРезультатовБенчмарков.НоваяТаблицаРасшифровки
// * ДескрипторыБенчмарков - КоллекцияДескрипторовБенчмарков
// * Запуски - Массив из РезультатЗапускаБенчмаркаДто
// * Отчет - ОтчетБенчмарков
// * СредаОкружения - СредаОкруженияБенчмарков
//
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
// Контекст - Структура:
// * ДескрипторБенчмарка - ДескрипторБенчмарка
// * Параметры - Массив из ПараметрБенчмарка
// * Замеры - ТаблицаЗначений - см. МенеджерРасшифровкиРезультатовБенчмарков.НоваяТаблицаЗамеров
// * Замеры - Массив из РезультатИтерацииБенчмаркаДто
// * Статистика - СтатистикаБенчмарка
//
// Примеры:
Expand Down

This file was deleted.

Loading