From fa067ebacc53e3b3e9cd1fb0158b3335fd03bce7 Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Sun, 27 Apr 2025 12:39:55 +0300 Subject: [PATCH 1/4] =?UTF-8?q?feat:=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BB=D0=BE=D0=B3=D0=B8=D1=80?= =?UTF-8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packagedef | 1 + ...74\320\260\321\200\320\272\320\276\320\262.os" | 15 ++++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/packagedef b/packagedef index 875337a..3c67c9d 100644 --- a/packagedef +++ b/packagedef @@ -23,6 +23,7 @@ .ЗависитОт("autumn-cli") .ЗависитОт("coloratos") .ЗависитОт("fluent") + .ЗависитОт("logos") .РазработкаЗависитОт("1testrunner") .РазработкаЗависитОт("coverage") .РазработкаЗависитОт("1commands") diff --git "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 7f3ce63..a3abb57 100644 --- "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -5,6 +5,7 @@ Перем _Конфигурация; // КонфигурацияБенчмарков Перем _СтатистикаСборщикаМусора; // СтатистикаСборщикаМусора Перем _Хронометр; // Хронометр +Перем _Лог; #Область ПрограммныйИнтерфейс @@ -267,7 +268,8 @@ ИмяМетода = Делегат.ИмяМетода(); Параметры = Делегат.Параметры(); ОсталосьВызовов = КоличествоВызовов; - + + _Лог.Отладка("Начало замера времени <%1>", ИмяМетода); _Хронометр.Старт(); // Хронометр должен быть "прогрет" Пока ОсталосьВызовов > 0 Цикл @@ -276,6 +278,7 @@ КонецЦикла; _Хронометр.Стоп(); + _Лог.Отладка("Окончание замера времени <%1>", ИмяМетода); Возврат _Хронометр.Наносекунд; @@ -289,6 +292,7 @@ Параметры = Делегат.Параметры(); ОсталосьВызовов = КоличествоВызовов; + _Лог.Отладка("Начало замера памяти <%1>", ИмяМетода); _СтатистикаСборщикаМусора.Начать(); // Объект должен быть "прогрет" Пока ОсталосьВызовов > 0 Цикл @@ -297,6 +301,7 @@ КонецЦикла; _СтатистикаСборщикаМусора.Завершить(); + _Лог.Отладка("Завершение замера памяти <%1>", ИмяМетода); Возврат _СтатистикаСборщикаМусора.ВыделеноБайт; @@ -309,8 +314,12 @@ Возврат; КонецЕсли; + _Лог.Отладка("Начало вызова обработчика события <%1>", ИмяСобытия); + Делегат.Исполнить(); + _Лог.Отладка("Завершение вызова обработчика события <%1>", ИмяСобытия); + КонецПроцедуры Функция ПараметрыМетодаБенчмарка(ДескрипторБенчмарка, Параметры) @@ -547,4 +556,8 @@ КонецФункции +Процедура ПриСозданииОбъекта() + _Лог = Логирование.ПолучитьЛог("oscript.lib.benchmark.ЗапускательБенчмарков"); +КонецПроцедуры + #КонецОбласти \ No newline at end of file From ad597f4bee68069e25a1082ed58b63472931f981 Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Mon, 28 Apr 2025 10:34:38 +0300 Subject: [PATCH 2/4] =?UTF-8?q?feat:=20=D0=9F=D0=B5=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D0=B0=D1=87=D0=B0=20=D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D0=B2=20=D0=B1=D0=B5=D0=BD=D1=87=D0=BC=D0=B0?= =?UTF-8?q?=D1=80=D0=BA=D0=B0=20=D0=B2=20=D0=BA=D0=BE=D0=BD=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D1=81=D1=82=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D1=87=D0=B8=D0=BA=D0=B0=20=D1=81=D0=BE=D0=B1=D1=8B=D1=82=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...20\237\320\276\321\201\320\273\320\265.os" | 3 + ...20\260\321\200\320\272\320\276\320\262.os" | 55 +++++++++++++------ ...20\260\321\200\320\272\320\276\320\262.os" | 3 + ...20\261\321\213\321\202\320\270\320\271.os" | 3 + 4 files changed, 48 insertions(+), 16 deletions(-) diff --git "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265.os" "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265.os" index 889a143..1ea6a72 100644 --- "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265.os" +++ "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265.os" @@ -4,6 +4,9 @@ // // Параметры: // // Контекст - Структура: // // * ДескрипторБенчмарка - ДескрипторБенчмарка +// // * Параметры - Массив из ПараметрБенчмарка +// // * Замеры - Массив из см. ЗапускательБенчмарков.НовыйРезультатИтерации +// // * Статистика - см. СтатистикаБенчмарков.СтатистикаЗамеров // &После // Процедруа После(Контекст) Экспорт // // ... diff --git "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index a3abb57..1e2bbc8 100644 --- "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -75,13 +75,13 @@ Для Каждого Параметры Из КомбинацииПараметров Цикл - Замеры = ЗапуститьБенчмарк(ДескрипторБенчмарка, Параметры); + РезультатЗапуска = ЗапуститьБенчмарк(ДескрипторБенчмарка, Параметры); - РезультатЗапуска = РезультатыЗапусков.Добавить(); - РезультатЗапуска.ДескрипторБенчмарка = ДескрипторБенчмарка; - РезультатЗапуска.Параметры = Параметры; - РезультатЗапуска.Замеры = Замеры; - РезультатЗапуска.Статистика = СтатистикаБенчмарков.СтатистикаЗамеров(Замеры); + СтрокаРезультата = РезультатыЗапусков.Добавить(); + СтрокаРезультата.ДескрипторБенчмарка = ДескрипторБенчмарка; + СтрокаРезультата.Параметры = Параметры; + СтрокаРезультата.Замеры = РезультатЗапуска.Замеры; + СтрокаРезультата.Статистика = РезультатЗапуска.Статистика; КонецЦикла; @@ -128,9 +128,17 @@ ЗапуститьМониторингПамяти(Делегат, КоличествоВызововЗаИтерацию, Замеры); КонецЕсли; - ВызватьОбработчикСобытия("ПослеЗапуска", Новый Структура("ДескрипторБенчмарка", ДескрипторБенчмарка)); + Статистика = СтатистикаБенчмарков.СтатистикаЗамеров(Замеры); - Возврат Замеры; + КонтекстСобытия = Новый Структура(); + КонтекстСобытия.Вставить("ДескрипторБенчмарка", ДескрипторБенчмарка); + КонтекстСобытия.Вставить("Параметры", Параметры); + КонтекстСобытия.Вставить("Замеры", Замеры); + КонтекстСобытия.Вставить("Статистика", Статистика); + + ВызватьОбработчикСобытия("ПослеЗапуска", КонтекстСобытия); + + Возврат Новый Структура("Замеры, Статистика", Замеры, Статистика); КонецФункции @@ -246,14 +254,14 @@ Наносекунд = ЗамеритьВремя(Делегат, КоличествоВызовов); КонецЕсли; - РезультатИтерации = Новый Структура(); - РезультатИтерации.Вставить("Этап", Этап); - РезультатИтерации.Вставить("ИндексИтерации", ИндексИтерации); - РезультатИтерации.Вставить("КоличествоОпераций", КоличествоВызовов); - РезультатИтерации.Вставить("Наносекунд", Наносекунд); - РезультатИтерации.Вставить("НаносекундЗаОперацию", Наносекунд / КоличествоВызовов); - РезультатИтерации.Вставить("ВыделяемаяПамять", ВыделяемаяПамять); - РезультатИтерации.Вставить("ВыделяемаяПамятьЗаОперацию", ВыделяемаяПамять / КоличествоВызовов); + РезультатИтерации = НовыйРезультатИтерации(); + РезультатИтерации.Этап = Этап; + РезультатИтерации.ИндексИтерации = ИндексИтерации; + РезультатИтерации.КоличествоОпераций = КоличествоВызовов; + РезультатИтерации.Наносекунд = Наносекунд; + РезультатИтерации.НаносекундЗаОперацию = Наносекунд / КоличествоВызовов; + РезультатИтерации.ВыделяемаяПамять = ВыделяемаяПамять; + РезультатИтерации.ВыделяемаяПамятьЗаОперацию = ВыделяемаяПамять / КоличествоВызовов; ЦветнойВывод.ВывестиСтроку(ПредставлениеРезультатаИтерации(РезультатИтерации), "Серый"); @@ -528,6 +536,21 @@ КонецПроцедуры +Функция НовыйРезультатИтерации() + + Результат = Новый Структура(); + Результат.Вставить("Этап", ""); + Результат.Вставить("ИндексИтерации", 0); + Результат.Вставить("КоличествоОпераций", 0); + Результат.Вставить("Наносекунд", 0); + Результат.Вставить("НаносекундЗаОперацию",0); + Результат.Вставить("ВыделяемаяПамять", 0); + Результат.Вставить("ВыделяемаяПамятьЗаОперацию", 0); + + Возврат Результат; + +КонецФункции + Функция НоваяТаблицаЗамеров() Таблица = Новый ТаблицаЗначений(); diff --git "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 4831fa8..7ed2ebf 100644 --- "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -360,6 +360,9 @@ // Делегат, Неопределено - Делегат: // * Контекст - Структура: // ** ДескрипторБенчмарка - ДескрипторБенчмарка +// ** Параметры - Массив из ПараметрБенчмарка +// ** Замеры - Массив из см. ЗапускательБенчмарков.НовыйРезультатИтерации +// ** Статистика - см. СтатистикаБенчмарков.СтатистикаЗамеров // // Возвращаемое значение: // ЭтотОбъект diff --git "a/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" "b/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" index 3a8f682..8945d7e 100644 --- "a/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" +++ "b/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" @@ -25,6 +25,9 @@ &После Процедура ПослеЗапуска(Контекст) Экспорт ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка; + Параметры = Контекст.Параметры; + Замеры = Контекст.Замеры; + Статистика = Контекст.Статистика; События.Добавить("ПослеЗапуска"); КонецПроцедуры From 4b81fa8fdd9e8bc8a675dd4903e89b0d6c2141db Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Mon, 28 Apr 2025 11:34:16 +0300 Subject: [PATCH 3/4] =?UTF-8?q?feat:=20=D0=9F=D0=B5=D1=80=D0=B5=D0=B4?= =?UTF-8?q?=D0=B0=D1=87=D0=B0=20=D1=80=D0=B5=D0=B7=D1=83=D0=BB=D1=8C=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D0=BE=D0=B2=20=D0=B2=20=D0=BA=D0=BE=D1=82=D0=B5?= =?UTF-8?q?=D0=BA=D1=81=D1=82=20=D0=BE=D0=B1=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D1=87=D0=B8=D0=BA=D0=B0=20=D1=81=D0=BE=D0=B1=D1=8B=D1=82=D0=B8?= =?UTF-8?q?=D1=8F=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D0=B8?= =?UTF-8?q?=D1=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21\210\320\265\320\275\320\270\320\265.os" | 9 +++++++- ...20\260\321\200\320\272\320\276\320\262.os" | 11 +++++---- ...20\260\321\200\320\272\320\276\320\262.os" | 8 ++++++- ...20\261\321\213\321\202\320\270\320\271.os" | 23 +++++++++++++++++-- 4 files changed, 42 insertions(+), 9 deletions(-) diff --git "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" index 48c3d65..074c5b7 100644 --- "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" +++ "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" @@ -4,8 +4,15 @@ // или финализации данных после выполнения всех бенчмарков. // // Пример: +// // Параметры: +// // Контекст - Структура: +// // * ДескрипторыБенчмарков - Массив из ДескрипторБенчмарка +// // * Конфигурация - КонфигурацияБенчмарков +// // * РезультатыЗапусков - см. НоваяТаблицаРезультатов +// // * Отчет - ОтчетБенчмарков +// // * СредаОкружения - СредаОкруженияБенчмарков // &Завершение -// Процедруа Завершение() Экспорт +// Процедруа Завершение(Контекст) Экспорт // // Очистка данных // КонецПроцедуры &Аннотация("Завершение") diff --git "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 1e2bbc8..1e68762 100644 --- "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -21,7 +21,7 @@ // * Конфигурация - КонфигурацияБенчмарков // * РезультатыЗапусков - см. НоваяТаблицаРезультатов // * Отчет - ОтчетБенчмарков -// * СредаОкруженияБенчмарков - СредаОкруженияБенчмарков +// * СредаОкружения - СредаОкруженияБенчмарков Функция Запустить(Источник, Конфигурация = Неопределено) Экспорт Если ТипЗнч(Источник) = Тип("ОберткаОбъектаБенчмарка") Тогда @@ -47,8 +47,7 @@ ДескрипторыБенчмарков = _ОберткаОбъектаБенчмарка.ДескрипторыБенчмарков(); ПроверитьБенчмарки(ДескрипторыБенчмарков); - РезультатыЗапусков = ЗапуститьВсеБенчмарки(ДескрипторыБенчмарков); - Результат = ПодготовитьРезультат(ДескрипторыБенчмарков, РезультатыЗапусков); + Результат = ЗапуститьВсеБенчмарки(ДескрипторыБенчмарков); ВывестиРезультатыБенчмарков(Результат); @@ -88,10 +87,12 @@ КонецЦикла; ЗаполнитьЭталоны(РезультатыЗапусков); + + Результат = ПодготовитьРезультат(ДескрипторыБенчмарков, РезультатыЗапусков); - ВызватьОбработчикСобытия("Завершение"); + ВызватьОбработчикСобытия("Завершение", Результат); - Возврат РезультатыЗапусков; + Возврат Результат; КонецФункции diff --git "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 7ed2ebf..521c3ca 100644 --- "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -400,7 +400,13 @@ // или финализации данных после выполнения всех бенчмарков. // // Параметры: -// Делегат, Неопределено - Делегат +// Делегат, Неопределено - Делегат: +// * Контекст - Структура: +// ** ДескрипторыБенчмарков - Массив из ДескрипторБенчмарка +// ** Конфигурация - КонфигурацияБенчмарков +// ** РезультатыЗапусков - см. НоваяТаблицаРезультатов +// ** Отчет - ОтчетБенчмарков +// ** СредаОкружения - СредаОкруженияБенчмарков // // Возвращаемое значение: // ЭтотОбъект diff --git "a/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" "b/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" index 8945d7e..b4446ff 100644 --- "a/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" +++ "b/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" @@ -11,28 +11,47 @@ КонецПроцедуры &Завершение -Процедура Завершение() Экспорт +Процедура Завершение(Контекст) Экспорт + + ДескрипторыБенчмарков = Контекст.ДескрипторыБенчмарков; + Конфигурация = Контекст.Конфигурация; + РезультатыЗапусков = Контекст.РезультатыЗапусков; + Отчет = Контекст.Отчет; + СредаОкружения = Контекст.СредаОкружения; + События.Добавить("Завершение"); + КонецПроцедуры &Перед Процедура ПередЗапуском(Контекст) Экспорт + ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка; ПараметрыМетода = Контекст.ПараметрыМетода; + События.Добавить("ПередЗапуском"); + КонецПроцедуры &После Процедура ПослеЗапуска(Контекст) Экспорт + ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка; Параметры = Контекст.Параметры; Замеры = Контекст.Замеры; Статистика = Контекст.Статистика; + События.Добавить("ПослеЗапуска"); + КонецПроцедуры -Процедура ПередЗапускомБезПараметров() Экспорт +Процедура ПередЗапускомБезПараметров(Контекст) Экспорт + + ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка; + ПараметрыМетода = Контекст.ПараметрыМетода; + События.Добавить("ПередЗапускомБезПараметров"); + КонецПроцедуры Процедура ПриСозданииОбъекта() From e0c06e1f521c07409bd750687c4d8518f40cce3b Mon Sep 17 00:00:00 2001 From: Dmitry Ivanov Date: Mon, 28 Apr 2025 22:38:27 +0300 Subject: [PATCH 4/4] =?UTF-8?q?refactor:=20=D0=9F=D0=B5=D1=80=D0=B5=D0=B8?= =?UTF-8?q?=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=B0?= =?UTF-8?q?=D0=BD=D0=BD=D0=BE=D1=82=D0=B0=D1=86=D0=B8=D0=B9=20=D0=B8=20?= =?UTF-8?q?=D0=BC=D0=B5=D1=82=D0=BE=D0=B4=D0=BE=D0=B2=20=D1=81=D0=BE=D0=B1?= =?UTF-8?q?=D1=8B=D1=82=D0=B8=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...21\200\320\270\320\274\320\265\321\200.os" | 4 +-- ...21\200\320\270\320\274\320\265\321\200.os" | 14 ++++---- ...20\265\320\222\321\201\320\265\321\205.os" | 14 ++++---- ...20\266\320\264\320\276\320\263\320\276.os" | 16 +++++----- ...20\222\321\201\320\265\320\274\320\270.os" | 6 ++-- ...20\260\320\266\320\264\321\213\320\274.os" | 8 ++--- ...20\265\320\222\321\201\320\265\321\205.os" | 9 ++---- ...20\266\320\264\320\276\320\263\320\276.os" | 8 ++--- ...20\260\321\200\320\272\320\276\320\262.os" | 8 ++--- ...20\260\321\200\320\272\320\276\320\262.os" | 24 +++++++------- ...20\260\321\200\320\272\320\276\320\262.os" | 32 +++++++++---------- ...21\200\320\260\321\206\320\270\320\270.os" | 20 +++++------- ...20\261\321\213\321\202\320\270\320\271.os" | 22 ++++++------- ...21\200\320\260\321\206\320\270\320\270.os" | 16 +++++----- 14 files changed, 97 insertions(+), 104 deletions(-) rename "samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\230\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" => "samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\222\321\201\320\265\321\205.os" (74%) rename "samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\227\320\260\320\277\321\203\321\201\320\272\320\260.os" => "samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\232\320\260\320\266\320\264\320\276\320\263\320\276.os" (71%) rename "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217.os" => "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264\320\222\321\201\320\265\320\274\320\270.os" (82%) rename "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264.os" => "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264\320\232\320\260\320\266\320\264\321\213\320\274.os" (65%) rename "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" => "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265\320\222\321\201\320\265\321\205.os" (67%) rename "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265.os" => "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265\320\232\320\260\320\266\320\264\320\276\320\263\320\276.os" (74%) diff --git "a/samples/api/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262\320\237\321\200\320\270\320\274\320\265\321\200.os" "b/samples/api/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262\320\237\321\200\320\270\320\274\320\265\321\200.os" index 625f707..633b243 100644 --- "a/samples/api/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262\320\237\321\200\320\270\320\274\320\265\321\200.os" +++ "b/samples/api/\320\243\320\264\320\260\320\273\320\265\320\275\320\270\320\265\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262\320\237\321\200\320\270\320\274\320\265\321\200.os" @@ -1,9 +1,9 @@ #Использовать benchmark #Использовать "../benchmarks" -ОберткаОбъекта = Новый ОберткаОбъектаБенчмарка(Тип("БенчмаркИнициализацияИЗавершение")); +ОберткаОбъекта = Новый ОберткаОбъектаБенчмарка(Тип("БенчмаркОбработчикПередИПослеВсех")); Конфигурация = ОберткаОбъекта.Конфигурация(); -Конфигурация.УстановитьОбработчикЗавершения(Неопределено); +Конфигурация.УстановитьОбработчикПослеВсех(Неопределено); Бенчмаркинг.Запустить(ОберткаОбъекта); \ No newline at end of file diff --git "a/samples/api/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262\320\237\321\200\320\270\320\274\320\265\321\200.os" "b/samples/api/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262\320\237\321\200\320\270\320\274\320\265\321\200.os" index 26f6e0d..1d7416a 100644 --- "a/samples/api/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262\320\237\321\200\320\270\320\274\320\265\321\200.os" +++ "b/samples/api/\320\243\321\201\321\202\320\260\320\275\320\276\320\262\320\272\320\260\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\276\320\262\320\237\321\200\320\270\320\274\320\265\321\200.os" @@ -3,11 +3,11 @@ #Использовать "../benchmarks" Процедура Инициализация(Контекст) Экспорт - Сообщить("Вызван обработчик инициализации"); + Сообщить("Вызван обработчик перед запуском всех бенчмарков"); КонецПроцедуры Процедура Завершение() Экспорт - Сообщить("Вызван обработчик завершения"); + Сообщить("Вызван обработчик после запуска всех бенчмарков"); КонецПроцедуры Процедура ПередЗапуском(Контекст) Экспорт @@ -19,11 +19,11 @@ КонецПроцедуры ОберткаОбъекта = Новый ОберткаОбъектаБенчмарка(Тип("БенчмаркБазовый")); -Конфигурация = ОберткаОбъекта.Конфигурация(); -Конфигурация.УстановитьОбработчикИнициализации(Новый Делегат(ЭтотОбъект, "Инициализация")); -Конфигурация.УстановитьОбработчикЗавершения(Новый Делегат(ЭтотОбъект, "Завершение")); -Конфигурация.УстановитьОбработчикПередЗапуском(Новый Делегат(ЭтотОбъект, "ПередЗапуском")); -Конфигурация.УстановитьОбработчикПослеЗапуска(Новый Делегат(ЭтотОбъект, "ПослеЗапуска")); +Конфигурация = ОберткаОбъекта.Конфигурация() + .УстановитьОбработчикПередВсеми(Новый Делегат(ЭтотОбъект, "Инициализация")) + .УстановитьОбработчикПослеВсех(Новый Делегат(ЭтотОбъект, "Завершение")) + .УстановитьОбработчикПередКаждым(Новый Делегат(ЭтотОбъект, "ПередЗапуском")) + .УстановитьОбработчикПослеКаждого(Новый Делегат(ЭтотОбъект, "ПослеЗапуска")); Бенчмаркинг.Запустить(ОберткаОбъекта); \ No newline at end of file diff --git "a/samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\230\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" "b/samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\222\321\201\320\265\321\205.os" similarity index 74% rename from "samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\230\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" rename to "samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\222\321\201\320\265\321\205.os" index f8c827d..a2007d2 100644 --- "a/samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217\320\230\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" +++ "b/samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\222\321\201\320\265\321\205.os" @@ -1,11 +1,16 @@ Перем ДвоичныеДанные; -&Инициализация +&ПередВсеми Процедура Инициализация(Контекст) Экспорт - Сообщить("Вызван обработчик инициализации"); + Сообщить("Вызван обработчик перед запуском всех бенчмарков"); ДвоичныеДанные = ПолучитьДвоичныеДанныеИзСтроки("Много данных"); КонецПроцедуры +&ПослеВсех +Процедура Завершение(Контекст) Экспорт + Сообщить("Вызван обработчик после завершения всех бенчмарков"); +КонецПроцедуры + &Бенчмарк Процедура SHA256() Экспорт @@ -22,9 +27,4 @@ ХешированиеДанных.Добавить(ДвоичныеДанные); ХешСумма = ХешированиеДанных.ХешСумма; -КонецПроцедуры - -&Завершение -Процедура Завершение() Экспорт - Сообщить("Вызван обработчик завершения"); КонецПроцедуры \ No newline at end of file diff --git "a/samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\227\320\260\320\277\321\203\321\201\320\272\320\260.os" "b/samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\232\320\260\320\266\320\264\320\276\320\263\320\276.os" similarity index 71% rename from "samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\227\320\260\320\277\321\203\321\201\320\272\320\260.os" rename to "samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\232\320\260\320\266\320\264\320\276\320\263\320\276.os" index b504ae5..baaec0a 100644 --- "a/samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\227\320\260\320\277\321\203\321\201\320\272\320\260.os" +++ "b/samples/benchmarks/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\237\320\265\321\200\320\265\320\264\320\230\320\237\320\276\321\201\320\273\320\265\320\232\320\260\320\266\320\264\320\276\320\263\320\276.os" @@ -2,10 +2,10 @@ Перем Количество Экспорт; Перем Данные; -&Перед -Процедура Перед(Контекст) Экспорт +&ПередКаждым +Процедура ПередКаждым(Контекст) Экспорт - Сообщить("Вызван обработчик перед запуском"); + Сообщить("Вызван обработчик перед запуском бенчмарка"); Данные = Новый Массив(); Для Число = 1 По Количество Цикл @@ -14,6 +14,11 @@ КонецПроцедуры +&ПослеКаждого +Процедура ПослеКаждого(Контекст) Экспорт + Сообщить("Вызван обработчик после запуска бенчмарка"); +КонецПроцедуры + &Бенчмарк Процедура Бенчмарк() Экспорт @@ -22,9 +27,4 @@ Сумма = Сумма + Число; КонецЦикла; -КонецПроцедуры - -&После -Процедура После(Контекст) Экспорт - Сообщить("Вызван обработчик после запуска"); КонецПроцедуры \ No newline at end of file diff --git "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217.os" "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264\320\222\321\201\320\265\320\274\320\270.os" similarity index 82% rename from "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217.os" rename to "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264\320\222\321\201\320\265\320\274\320\270.os" index 589b6ed..dc1ceb8 100644 --- "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\230\320\275\320\270\321\206\320\270\320\260\320\273\320\270\320\267\320\260\321\206\320\270\321\217.os" +++ "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264\320\222\321\201\320\265\320\274\320\270.os" @@ -7,10 +7,10 @@ // // Параметры: // // Контекст - Структура: // // * Конфигурация - КонфигурацияБенчмарков -// &Инициализация -// Процедруа Инициализация(Контекст) Экспорт +// &ПередВсеми +// Процедруа ПередВсеми(Контекст) Экспорт // // Подготовка данных // КонецПроцедуры -&Аннотация("Инициализация") +&Аннотация("ПередВсеми") Процедура ПриСозданииОбъекта() КонецПроцедуры \ No newline at end of file diff --git "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264.os" "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264\320\232\320\260\320\266\320\264\321\213\320\274.os" similarity index 65% rename from "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264.os" rename to "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264\320\232\320\260\320\266\320\264\321\213\320\274.os" index 47c49cc..698cdfc 100644 --- "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264.os" +++ "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\265\321\200\320\265\320\264\320\232\320\260\320\266\320\264\321\213\320\274.os" @@ -1,14 +1,14 @@ -// Аннотация указывает, что метод должен быть выполнен перед запуском бенчмарка. +// Аннотация указывает, что метод должен быть выполнен перед каждым запуском бенчмарка. // // Пример: // // Параметры: // // Контекст - Структура: // // * ДескрипторБенчмарка - ДескрипторБенчмарка // // * ПараметрыМетода - Массив из Произвольный -// &Перед -// Процедруа Перед(Контекст) Экспорт +// &ПередКаждым +// Процедруа ПередКаждым(Контекст) Экспорт // // ... // КонецПроцедуры -&Аннотация("Перед") +&Аннотация("ПередКаждым") Процедура ПриСозданииОбъекта() КонецПроцедуры \ No newline at end of file diff --git "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265\320\222\321\201\320\265\321\205.os" similarity index 67% rename from "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" rename to "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265\320\222\321\201\320\265\321\205.os" index 074c5b7..2fb9d16 100644 --- "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\227\320\260\320\262\320\265\321\200\321\210\320\265\320\275\320\270\320\265.os" +++ "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265\320\222\321\201\320\265\321\205.os" @@ -1,8 +1,5 @@ // Указывает, что метод должен быть выполнен после завершения всех бенчмарков. // -// Метод с этой аннотацией используется для освобождения ресурсов, сброса состояний -// или финализации данных после выполнения всех бенчмарков. -// // Пример: // // Параметры: // // Контекст - Структура: @@ -11,10 +8,10 @@ // // * РезультатыЗапусков - см. НоваяТаблицаРезультатов // // * Отчет - ОтчетБенчмарков // // * СредаОкружения - СредаОкруженияБенчмарков -// &Завершение -// Процедруа Завершение(Контекст) Экспорт +// &ПослеВсех +// Процедруа ПослеВсех(Контекст) Экспорт // // Очистка данных // КонецПроцедуры -&Аннотация("Завершение") +&Аннотация("ПослеВсех") Процедура ПриСозданииОбъекта() КонецПроцедуры \ No newline at end of file diff --git "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265.os" "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265\320\232\320\260\320\266\320\264\320\276\320\263\320\276.os" similarity index 74% rename from "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265.os" rename to "src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265\320\232\320\260\320\266\320\264\320\276\320\263\320\276.os" index 1ea6a72..f716c73 100644 --- "a/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265.os" +++ "b/src/BenchmarkOneScript/annotations/\320\232\320\273\320\260\321\201\321\201\321\213/\320\220\320\275\320\275\320\276\321\202\320\260\321\206\320\270\321\217\320\237\320\276\321\201\320\273\320\265\320\232\320\260\320\266\320\264\320\276\320\263\320\276.os" @@ -1,4 +1,4 @@ -// Аннотация указывает, что метод должен быть выполнен после запуска бенчмарка. +// Аннотация указывает, что метод должен быть выполнен после каждого запуска бенчмарка. // // Пример: // // Параметры: @@ -7,10 +7,10 @@ // // * Параметры - Массив из ПараметрБенчмарка // // * Замеры - Массив из см. ЗапускательБенчмарков.НовыйРезультатИтерации // // * Статистика - см. СтатистикаБенчмарков.СтатистикаЗамеров -// &После -// Процедруа После(Контекст) Экспорт +// &ПослеКаждого +// Процедруа ПослеКаждого(Контекст) Экспорт // // ... // КонецПроцедуры -&Аннотация("После") +&Аннотация("ПослеКаждого") Процедура ПриСозданииОбъекта() КонецПроцедуры \ No newline at end of file diff --git "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 1e68762..581ac7b 100644 --- "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\227\320\260\320\277\321\203\321\201\320\272\320\260\321\202\320\265\320\273\321\214\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -61,7 +61,7 @@ Функция ЗапуститьВсеБенчмарки(ДескрипторыБенчмарков) - ВызватьОбработчикСобытия("Инициализация", Новый Структура("Конфигурация", _Конфигурация)); + ВызватьОбработчикСобытия("ПередВсеми", Новый Структура("Конфигурация", _Конфигурация)); РезультатыЗапусков = НоваяТаблицаРезультатов(); Для Каждого ДескрипторБенчмарка Из ДескрипторыБенчмарков Цикл @@ -90,7 +90,7 @@ Результат = ПодготовитьРезультат(ДескрипторыБенчмарков, РезультатыЗапусков); - ВызватьОбработчикСобытия("Завершение", Результат); + ВызватьОбработчикСобытия("ПослеВсех", Результат); Возврат Результат; @@ -104,7 +104,7 @@ _ОберткаОбъектаБенчмарка.УстановитьПараметры(Параметры); ВызватьОбработчикСобытия( - "ПередЗапуском", + "ПередКаждым", Новый Структура("ДескрипторБенчмарка, ПараметрыМетода", ДескрипторБенчмарка, ПараметрыМетода) ); @@ -137,7 +137,7 @@ КонтекстСобытия.Вставить("Замеры", Замеры); КонтекстСобытия.Вставить("Статистика", Статистика); - ВызватьОбработчикСобытия("ПослеЗапуска", КонтекстСобытия); + ВызватьОбработчикСобытия("ПослеКаждого", КонтекстСобытия); Возврат Новый Структура("Замеры, Статистика", Замеры, Статистика); diff --git "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index 521c3ca..cc94bfa 100644 --- "a/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/\320\232\320\273\320\260\321\201\321\201\321\213/\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\321\217\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -338,7 +338,7 @@ КонецФункции -// Устанавливает обработчик запускаемый перед запуском бенчмарка +// Устанавливает обработчик, вызываемый перед каждым запуском бенчмарка // // Параметры: // Делегат, Неопределено - Делегат: @@ -348,13 +348,13 @@ // // Возвращаемое значение: // ЭтотОбъект -Функция УстановитьОбработчикПередЗапуском(Делегат) Экспорт +Функция УстановитьОбработчикПередКаждым(Делегат) Экспорт - ДобавитьОбработчикСобытия("ПередЗапуском", Делегат); + ДобавитьОбработчикСобытия("ПередКаждым", Делегат); КонецФункции -// Устанавливает обработчик запускаемый после запуска бенчмарка +// Устанавливает обработчик, вызываемый после каждого запуска бенчмарка // // Параметры: // Делегат, Неопределено - Делегат: @@ -366,15 +366,15 @@ // // Возвращаемое значение: // ЭтотОбъект -Функция УстановитьОбработчикПослеЗапуска(Делегат) Экспорт +Функция УстановитьОбработчикПослеКаждого(Делегат) Экспорт - ДобавитьОбработчикСобытия("ПослеЗапуска", Делегат); + ДобавитьОбработчикСобытия("ПослеКаждого", Делегат); Возврат ЭтотОбъект; КонецФункции -// Устанавливает обработчик инициализации, запускаемый перед запуском всех бенчмарков +// Устанавливает обработчик, вызываемый перед запуском всех бенчмарков // // Используется для подготовки данных, инициализации ресурсов или настройки // окружения перед выполнением бенчмарков. @@ -386,15 +386,15 @@ // // Возвращаемое значение: // ЭтотОбъект -Функция УстановитьОбработчикИнициализации(Делегат) Экспорт +Функция УстановитьОбработчикПередВсеми(Делегат) Экспорт - ДобавитьОбработчикСобытия("Инициализация", Делегат); + ДобавитьОбработчикСобытия("ПередВсеми", Делегат); Возврат ЭтотОбъект; КонецФункции -// Устанавливает обработчик завершения +// Устанавливает обработчик, вызываемый после запуска всех бенчмарков // // Используется для освобождения ресурсов, сброса состояний // или финализации данных после выполнения всех бенчмарков. @@ -410,9 +410,9 @@ // // Возвращаемое значение: // ЭтотОбъект -Функция УстановитьОбработчикЗавершения(Делегат) Экспорт +Функция УстановитьОбработчикПослеВсех(Делегат) Экспорт - ДобавитьОбработчикСобытия("Завершение", Делегат); + ДобавитьОбработчикСобытия("ПослеВсех", Делегат); Возврат ЭтотОбъект; diff --git "a/src/BenchmarkOneScript/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\230\320\267\320\262\320\273\320\265\320\272\320\260\321\202\320\265\320\273\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" "b/src/BenchmarkOneScript/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\230\320\267\320\262\320\273\320\265\320\272\320\260\321\202\320\265\320\273\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" index a2a9bce..fe1a359 100644 --- "a/src/BenchmarkOneScript/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\230\320\267\320\262\320\273\320\265\320\272\320\260\321\202\320\265\320\273\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" +++ "b/src/BenchmarkOneScript/core/\320\234\320\276\320\264\321\203\320\273\320\270/\320\230\320\267\320\262\320\273\320\265\320\272\320\260\321\202\320\265\320\273\321\214\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\276\320\262.os" @@ -36,10 +36,10 @@ ПрочитатьАннотациюПараметры(СвойстваПоля, Конфигурация); КонецЦикла; - ПрочитатьОбработчикИнициализация(РефлекторОбъекта, Объект, Конфигурация); - ПрочитатьОбработчикЗавершение(РефлекторОбъекта, Объект, Конфигурация); - ПрочитатьОбработчикПеред(РефлекторОбъекта, Объект, Конфигурация); - ПрочитатьОбработчикПосле(РефлекторОбъекта, Объект, Конфигурация); + ПрочитатьОбработчикПередВсеми(РефлекторОбъекта, Объект, Конфигурация); + ПрочитатьОбработчикПослеВсех(РефлекторОбъекта, Объект, Конфигурация); + ПрочитатьОбработчикПередКаждым(РефлекторОбъекта, Объект, Конфигурация); + ПрочитатьОбработчикПослеКаждого(РефлекторОбъекта, Объект, Конфигурация); Возврат Конфигурация; @@ -168,9 +168,9 @@ КонецПроцедуры -Процедура ПрочитатьОбработчикПеред(РефлекторОбъекта, Объект, Конфигурация) +Процедура ПрочитатьОбработчикПередКаждым(РефлекторОбъекта, Объект, Конфигурация) - ТаблицаМетодов = РефлекторОбъекта.ПолучитьТаблицуМетодов("Перед"); + ТаблицаМетодов = РефлекторОбъекта.ПолучитьТаблицуМетодов("ПередКаждым"); Если ТаблицаМетодов.Количество() = 0 Тогда Возврат; КонецЕсли; @@ -178,13 +178,13 @@ СвойстваМетода = ТаблицаМетодов[0]; Делегат = Новый Делегат(Объект, СвойстваМетода.Имя); - Конфигурация.УстановитьОбработчикПередЗапуском(Делегат); + Конфигурация.УстановитьОбработчикПередКаждым(Делегат); КонецПроцедуры -Процедура ПрочитатьОбработчикПосле(РефлекторОбъекта, Объект, Конфигурация) +Процедура ПрочитатьОбработчикПослеКаждого(РефлекторОбъекта, Объект, Конфигурация) - ТаблицаМетодов = РефлекторОбъекта.ПолучитьТаблицуМетодов("После"); + ТаблицаМетодов = РефлекторОбъекта.ПолучитьТаблицуМетодов("ПослеКаждого"); Если ТаблицаМетодов.Количество() = 0 Тогда Возврат; КонецЕсли; @@ -192,13 +192,13 @@ СвойстваМетода = ТаблицаМетодов[0]; Делегат = Новый Делегат(Объект, СвойстваМетода.Имя); - Конфигурация.УстановитьОбработчикПослеЗапуска(Делегат); + Конфигурация.УстановитьОбработчикПослеКаждого(Делегат); КонецПроцедуры -Процедура ПрочитатьОбработчикИнициализация(РефлекторОбъекта, Объект, Конфигурация) +Процедура ПрочитатьОбработчикПередВсеми(РефлекторОбъекта, Объект, Конфигурация) - ТаблицаМетодов = РефлекторОбъекта.ПолучитьТаблицуМетодов("Инициализация"); + ТаблицаМетодов = РефлекторОбъекта.ПолучитьТаблицуМетодов("ПередВсеми"); Если ТаблицаМетодов.Количество() = 0 Тогда Возврат; КонецЕсли; @@ -206,13 +206,13 @@ СвойстваМетода = ТаблицаМетодов[0]; Делегат = Новый Делегат(Объект, СвойстваМетода.Имя); - Конфигурация.УстановитьОбработчикИнициализации(Делегат); + Конфигурация.УстановитьОбработчикПередВсеми(Делегат); КонецПроцедуры -Процедура ПрочитатьОбработчикЗавершение(РефлекторОбъекта, Объект, Конфигурация) +Процедура ПрочитатьОбработчикПослеВсех(РефлекторОбъекта, Объект, Конфигурация) - ТаблицаМетодов = РефлекторОбъекта.ПолучитьТаблицуМетодов("Завершение"); + ТаблицаМетодов = РефлекторОбъекта.ПолучитьТаблицуМетодов("ПослеВсех"); Если ТаблицаМетодов.Количество() = 0 Тогда Возврат; КонецЕсли; @@ -220,7 +220,7 @@ СвойстваМетода = ТаблицаМетодов[0]; Делегат = Новый Делегат(Объект, СвойстваМетода.Имя); - Конфигурация.УстановитьОбработчикЗавершения(Делегат); + Конфигурация.УстановитьОбработчикПослеВсех(Делегат); КонецПроцедуры diff --git "a/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\220\320\275\320\275\320\276\321\202\320\260\321\206\321\217\320\274\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" "b/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\220\320\275\320\275\320\276\321\202\320\260\321\206\321\217\320\274\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" index 04b6ad2..9402477 100644 --- "a/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\220\320\275\320\275\320\276\321\202\320\260\321\206\321\217\320\274\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" +++ "b/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\220\320\275\320\275\320\276\321\202\320\260\321\206\321\217\320\274\320\270\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" @@ -10,24 +10,20 @@ КонецПроцедуры -&Инициализация -Процедура Инициализация(Контекст) Экспорт - +&ПередВсеми +Процедура ПередВсеми(Контекст) Экспорт КонецПроцедуры -&Завершение -Процедура Завершение() Экспорт - +&ПослеВсех +Процедура ПослеВсех(Контекст) Экспорт КонецПроцедуры -&Перед -Процедура ПередЗапуском(Контекст) Экспорт - +&ПередКаждым +Процедура ПередКаждым(Контекст) Экспорт КонецПроцедуры -&После -Процедура ПослеЗапуска(Контекст) Экспорт - +&ПослеКаждого +Процедура ПослеКаждого(Контекст) Экспорт КонецПроцедуры &Бенчмарк diff --git "a/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" "b/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" index b4446ff..893f7e4 100644 --- "a/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" +++ "b/tests/fixtures/\320\232\320\273\320\260\321\201\321\201\321\213/\320\221\320\265\320\275\321\207\320\274\320\260\321\200\320\272\320\241\320\236\320\261\321\200\320\260\320\261\320\276\321\202\321\207\320\270\320\272\320\260\320\274\320\270\320\241\320\276\320\261\321\213\321\202\320\270\320\271.os" @@ -4,14 +4,14 @@ Процедура Бенчмарк() Экспорт КонецПроцедуры -&Инициализация -Процедура Инициализация(Контекст) Экспорт +&ПередВсеми +Процедура ПередВсеми(Контекст) Экспорт Конфигурация = Контекст.Конфигурация; - События.Добавить("Инициализация"); + События.Добавить("ПередВсеми"); КонецПроцедуры -&Завершение -Процедура Завершение(Контекст) Экспорт +&ПослеВсех +Процедура ПослеВсех(Контекст) Экспорт ДескрипторыБенчмарков = Контекст.ДескрипторыБенчмарков; Конфигурация = Контекст.Конфигурация; @@ -19,21 +19,21 @@ Отчет = Контекст.Отчет; СредаОкружения = Контекст.СредаОкружения; - События.Добавить("Завершение"); + События.Добавить("ПослеВсех"); КонецПроцедуры -&Перед -Процедура ПередЗапуском(Контекст) Экспорт +&ПередКаждым +Процедура ПередКаждым(Контекст) Экспорт ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка; ПараметрыМетода = Контекст.ПараметрыМетода; - События.Добавить("ПередЗапуском"); + События.Добавить("ПередКаждым"); КонецПроцедуры -&После +&ПослеКаждого Процедура ПослеЗапуска(Контекст) Экспорт ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка; @@ -41,7 +41,7 @@ Замеры = Контекст.Замеры; Статистика = Контекст.Статистика; - События.Добавить("ПослеЗапуска"); + События.Добавить("ПослеКаждого"); КонецПроцедуры diff --git "a/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" "b/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" index 0e9cc22..6c6db9d 100644 --- "a/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" +++ "b/tests/\320\242\320\265\321\201\321\202\321\213\320\232\320\276\320\275\321\204\320\270\320\263\321\203\321\200\320\260\321\206\320\270\320\270.os" @@ -17,10 +17,10 @@ Ожидаем.Что(Конфигурация.КоличествоПрогревочныхИтераций()).Равно(300); Ожидаем.Что(Конфигурация.МинимальноеВремяИтерации()).Равно(400); Ожидаем.Что(Конфигурация.МинимальноеКоличествоВызововЗаИтерацию()).Равно(500); - Ожидаем.Что(Конфигурация.ОбработчикСобытия("Инициализация")).Заполнено(); - Ожидаем.Что(Конфигурация.ОбработчикСобытия("Завершение")).Заполнено(); - Ожидаем.Что(Конфигурация.ОбработчикСобытия("ПередЗапуском")).Заполнено(); - Ожидаем.Что(Конфигурация.ОбработчикСобытия("ПослеЗапуска")).Заполнено(); + Ожидаем.Что(Конфигурация.ОбработчикСобытия("ПередВсеми")).Заполнено(); + Ожидаем.Что(Конфигурация.ОбработчикСобытия("ПослеВсех")).Заполнено(); + Ожидаем.Что(Конфигурация.ОбработчикСобытия("ПередКаждым")).Заполнено(); + Ожидаем.Что(Конфигурация.ОбработчикСобытия("ПослеКаждого")).Заполнено(); КонецПроцедуры @@ -331,7 +331,7 @@ Делегат = Новый Делегат(Обертка.Объект(), "ПередЗапускомБезПараметров"); Конфигурация = Обертка.Конфигурация(); - Конфигурация.УстановитьОбработчикПередЗапуском(Делегат); + Конфигурация.УстановитьОбработчикПередКаждым(Делегат); ТестированиеБенчмарков.НастроитьКонфигурациюПодТесты(Конфигурация); @@ -342,7 +342,7 @@ События = Обертка.Объект().События; Ожидаем.Что(События).Содержит("ПередЗапускомБезПараметров"); - Ожидаем.Что(События).Не_().Содержит("ПередЗапуском"); + Ожидаем.Что(События).Не_().Содержит("ПередКаждым"); КонецПроцедуры @@ -352,7 +352,7 @@ Обертка = Новый ОберткаОбъектаБенчмарка(Тип("БенчмаркСОбработчикамиСобытий")); Конфигурация = Обертка.Конфигурация(); - Конфигурация.УстановитьОбработчикПередЗапуском(Неопределено); + Конфигурация.УстановитьОбработчикПередКаждым(Неопределено); ТестированиеБенчмарков.НастроитьКонфигурациюПодТесты(Конфигурация); @@ -362,7 +362,7 @@ Бенчмаркинг.Запустить(Обертка); События = Обертка.Объект().События; - Ожидаем.Что(События).Не_().Содержит("ПередЗапуском"); + Ожидаем.Что(События).Не_().Содержит("ПередКаждым"); Ожидаем.Что(События).ИмеетДлину(3); КонецПроцедуры \ No newline at end of file