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/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\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" deleted file mode 100644 index 48c3d65..0000000 --- "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" +++ /dev/null @@ -1,13 +0,0 @@ -// Указывает, что метод должен быть выполнен после завершения всех бенчмарков. -// -// Метод с этой аннотацией используется для освобождения ресурсов, сброса состояний -// или финализации данных после выполнения всех бенчмарков. -// -// Пример: -// &Завершение -// Процедруа Завершение() Экспорт -// // Очистка данных -// КонецПроцедуры -&Аннотация("Завершение") -Процедура ПриСозданииОбъекта() -КонецПроцедуры \ 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\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" deleted file mode 100644 index 889a143..0000000 --- "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" +++ /dev/null @@ -1,13 +0,0 @@ -// Аннотация указывает, что метод должен быть выполнен после запуска бенчмарка. -// -// Пример: -// // Параметры: -// // Контекст - Структура: -// // * ДескрипторБенчмарка - ДескрипторБенчмарка -// &После -// Процедруа После(Контекст) Экспорт -// // ... -// КонецПроцедуры -&Аннотация("После") -Процедура ПриСозданииОбъекта() -КонецПроцедуры \ 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\320\222\321\201\320\265\321\205.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" new file mode 100644 index 0000000..2fb9d16 --- /dev/null +++ "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" @@ -0,0 +1,17 @@ +// Указывает, что метод должен быть выполнен после завершения всех бенчмарков. +// +// Пример: +// // Параметры: +// // Контекст - Структура: +// // * ДескрипторыБенчмарков - Массив из ДескрипторБенчмарка +// // * Конфигурация - КонфигурацияБенчмарков +// // * РезультатыЗапусков - см. НоваяТаблицаРезультатов +// // * Отчет - ОтчетБенчмарков +// // * СредаОкружения - СредаОкруженияБенчмарков +// &ПослеВсех +// Процедруа ПослеВсех(Контекст) Экспорт +// // Очистка данных +// КонецПроцедуры +&Аннотация("ПослеВсех") +Процедура ПриСозданииОбъекта() +КонецПроцедуры \ 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\320\232\320\260\320\266\320\264\320\276\320\263\320\276.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" new file mode 100644 index 0000000..f716c73 --- /dev/null +++ "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" @@ -0,0 +1,16 @@ +// Аннотация указывает, что метод должен быть выполнен после каждого запуска бенчмарка. +// +// Пример: +// // Параметры: +// // Контекст - Структура: +// // * ДескрипторБенчмарка - ДескрипторБенчмарка +// // * Параметры - Массив из ПараметрБенчмарка +// // * Замеры - Массив из см. ЗапускательБенчмарков.НовыйРезультатИтерации +// // * Статистика - см. СтатистикаБенчмарков.СтатистикаЗамеров +// &ПослеКаждого +// Процедруа ПослеКаждого(Контекст) Экспорт +// // ... +// КонецПроцедуры +&Аннотация("ПослеКаждого") +Процедура ПриСозданииОбъекта() +КонецПроцедуры \ 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 7f3ce63..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" @@ -5,6 +5,7 @@ Перем _Конфигурация; // КонфигурацияБенчмарков Перем _СтатистикаСборщикаМусора; // СтатистикаСборщикаМусора Перем _Хронометр; // Хронометр +Перем _Лог; #Область ПрограммныйИнтерфейс @@ -20,7 +21,7 @@ // * Конфигурация - КонфигурацияБенчмарков // * РезультатыЗапусков - см. НоваяТаблицаРезультатов // * Отчет - ОтчетБенчмарков -// * СредаОкруженияБенчмарков - СредаОкруженияБенчмарков +// * СредаОкружения - СредаОкруженияБенчмарков Функция Запустить(Источник, Конфигурация = Неопределено) Экспорт Если ТипЗнч(Источник) = Тип("ОберткаОбъектаБенчмарка") Тогда @@ -46,8 +47,7 @@ ДескрипторыБенчмарков = _ОберткаОбъектаБенчмарка.ДескрипторыБенчмарков(); ПроверитьБенчмарки(ДескрипторыБенчмарков); - РезультатыЗапусков = ЗапуститьВсеБенчмарки(ДескрипторыБенчмарков); - Результат = ПодготовитьРезультат(ДескрипторыБенчмарков, РезультатыЗапусков); + Результат = ЗапуститьВсеБенчмарки(ДескрипторыБенчмарков); ВывестиРезультатыБенчмарков(Результат); @@ -61,7 +61,7 @@ Функция ЗапуститьВсеБенчмарки(ДескрипторыБенчмарков) - ВызватьОбработчикСобытия("Инициализация", Новый Структура("Конфигурация", _Конфигурация)); + ВызватьОбработчикСобытия("ПередВсеми", Новый Структура("Конфигурация", _Конфигурация)); РезультатыЗапусков = НоваяТаблицаРезультатов(); Для Каждого ДескрипторБенчмарка Из ДескрипторыБенчмарков Цикл @@ -74,23 +74,25 @@ Для Каждого Параметры Из КомбинацииПараметров Цикл - Замеры = ЗапуститьБенчмарк(ДескрипторБенчмарка, Параметры); + РезультатЗапуска = ЗапуститьБенчмарк(ДескрипторБенчмарка, Параметры); - РезультатЗапуска = РезультатыЗапусков.Добавить(); - РезультатЗапуска.ДескрипторБенчмарка = ДескрипторБенчмарка; - РезультатЗапуска.Параметры = Параметры; - РезультатЗапуска.Замеры = Замеры; - РезультатЗапуска.Статистика = СтатистикаБенчмарков.СтатистикаЗамеров(Замеры); + СтрокаРезультата = РезультатыЗапусков.Добавить(); + СтрокаРезультата.ДескрипторБенчмарка = ДескрипторБенчмарка; + СтрокаРезультата.Параметры = Параметры; + СтрокаРезультата.Замеры = РезультатЗапуска.Замеры; + СтрокаРезультата.Статистика = РезультатЗапуска.Статистика; КонецЦикла; КонецЦикла; ЗаполнитьЭталоны(РезультатыЗапусков); + + Результат = ПодготовитьРезультат(ДескрипторыБенчмарков, РезультатыЗапусков); - ВызватьОбработчикСобытия("Завершение"); + ВызватьОбработчикСобытия("ПослеВсех", Результат); - Возврат РезультатыЗапусков; + Возврат Результат; КонецФункции @@ -102,7 +104,7 @@ _ОберткаОбъектаБенчмарка.УстановитьПараметры(Параметры); ВызватьОбработчикСобытия( - "ПередЗапуском", + "ПередКаждым", Новый Структура("ДескрипторБенчмарка, ПараметрыМетода", ДескрипторБенчмарка, ПараметрыМетода) ); @@ -127,9 +129,17 @@ ЗапуститьМониторингПамяти(Делегат, КоличествоВызововЗаИтерацию, Замеры); КонецЕсли; - ВызватьОбработчикСобытия("ПослеЗапуска", Новый Структура("ДескрипторБенчмарка", ДескрипторБенчмарка)); + Статистика = СтатистикаБенчмарков.СтатистикаЗамеров(Замеры); + + КонтекстСобытия = Новый Структура(); + КонтекстСобытия.Вставить("ДескрипторБенчмарка", ДескрипторБенчмарка); + КонтекстСобытия.Вставить("Параметры", Параметры); + КонтекстСобытия.Вставить("Замеры", Замеры); + КонтекстСобытия.Вставить("Статистика", Статистика); - Возврат Замеры; + ВызватьОбработчикСобытия("ПослеКаждого", КонтекстСобытия); + + Возврат Новый Структура("Замеры, Статистика", Замеры, Статистика); КонецФункции @@ -245,14 +255,14 @@ Наносекунд = ЗамеритьВремя(Делегат, КоличествоВызовов); КонецЕсли; - РезультатИтерации = Новый Структура(); - РезультатИтерации.Вставить("Этап", Этап); - РезультатИтерации.Вставить("ИндексИтерации", ИндексИтерации); - РезультатИтерации.Вставить("КоличествоОпераций", КоличествоВызовов); - РезультатИтерации.Вставить("Наносекунд", Наносекунд); - РезультатИтерации.Вставить("НаносекундЗаОперацию", Наносекунд / КоличествоВызовов); - РезультатИтерации.Вставить("ВыделяемаяПамять", ВыделяемаяПамять); - РезультатИтерации.Вставить("ВыделяемаяПамятьЗаОперацию", ВыделяемаяПамять / КоличествоВызовов); + РезультатИтерации = НовыйРезультатИтерации(); + РезультатИтерации.Этап = Этап; + РезультатИтерации.ИндексИтерации = ИндексИтерации; + РезультатИтерации.КоличествоОпераций = КоличествоВызовов; + РезультатИтерации.Наносекунд = Наносекунд; + РезультатИтерации.НаносекундЗаОперацию = Наносекунд / КоличествоВызовов; + РезультатИтерации.ВыделяемаяПамять = ВыделяемаяПамять; + РезультатИтерации.ВыделяемаяПамятьЗаОперацию = ВыделяемаяПамять / КоличествоВызовов; ЦветнойВывод.ВывестиСтроку(ПредставлениеРезультатаИтерации(РезультатИтерации), "Серый"); @@ -267,7 +277,8 @@ ИмяМетода = Делегат.ИмяМетода(); Параметры = Делегат.Параметры(); ОсталосьВызовов = КоличествоВызовов; - + + _Лог.Отладка("Начало замера времени <%1>", ИмяМетода); _Хронометр.Старт(); // Хронометр должен быть "прогрет" Пока ОсталосьВызовов > 0 Цикл @@ -276,6 +287,7 @@ КонецЦикла; _Хронометр.Стоп(); + _Лог.Отладка("Окончание замера времени <%1>", ИмяМетода); Возврат _Хронометр.Наносекунд; @@ -289,6 +301,7 @@ Параметры = Делегат.Параметры(); ОсталосьВызовов = КоличествоВызовов; + _Лог.Отладка("Начало замера памяти <%1>", ИмяМетода); _СтатистикаСборщикаМусора.Начать(); // Объект должен быть "прогрет" Пока ОсталосьВызовов > 0 Цикл @@ -297,6 +310,7 @@ КонецЦикла; _СтатистикаСборщикаМусора.Завершить(); + _Лог.Отладка("Завершение замера памяти <%1>", ИмяМетода); Возврат _СтатистикаСборщикаМусора.ВыделеноБайт; @@ -309,8 +323,12 @@ Возврат; КонецЕсли; + _Лог.Отладка("Начало вызова обработчика события <%1>", ИмяСобытия); + Делегат.Исполнить(); + _Лог.Отладка("Завершение вызова обработчика события <%1>", ИмяСобытия); + КонецПроцедуры Функция ПараметрыМетодаБенчмарка(ДескрипторБенчмарка, Параметры) @@ -519,6 +537,21 @@ КонецПроцедуры +Функция НовыйРезультатИтерации() + + Результат = Новый Структура(); + Результат.Вставить("Этап", ""); + Результат.Вставить("ИндексИтерации", 0); + Результат.Вставить("КоличествоОпераций", 0); + Результат.Вставить("Наносекунд", 0); + Результат.Вставить("НаносекундЗаОперацию",0); + Результат.Вставить("ВыделяемаяПамять", 0); + Результат.Вставить("ВыделяемаяПамятьЗаОперацию", 0); + + Возврат Результат; + +КонецФункции + Функция НоваяТаблицаЗамеров() Таблица = Новый ТаблицаЗначений(); @@ -547,4 +580,8 @@ КонецФункции +Процедура ПриСозданииОбъекта() + _Лог = Логирование.ПолучитьЛог("oscript.lib.benchmark.ЗапускательБенчмарков"); +КонецПроцедуры + #КонецОбласти \ 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\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..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,30 +348,33 @@ // // Возвращаемое значение: // ЭтотОбъект -Функция УстановитьОбработчикПередЗапуском(Делегат) Экспорт +Функция УстановитьОбработчикПередКаждым(Делегат) Экспорт - ДобавитьОбработчикСобытия("ПередЗапуском", Делегат); + ДобавитьОбработчикСобытия("ПередКаждым", Делегат); КонецФункции -// Устанавливает обработчик запускаемый после запуска бенчмарка +// Устанавливает обработчик, вызываемый после каждого запуска бенчмарка // // Параметры: // Делегат, Неопределено - Делегат: // * Контекст - Структура: // ** ДескрипторБенчмарка - ДескрипторБенчмарка +// ** Параметры - Массив из ПараметрБенчмарка +// ** Замеры - Массив из см. ЗапускательБенчмарков.НовыйРезультатИтерации +// ** Статистика - см. СтатистикаБенчмарков.СтатистикаЗамеров // // Возвращаемое значение: // ЭтотОбъект -Функция УстановитьОбработчикПослеЗапуска(Делегат) Экспорт +Функция УстановитьОбработчикПослеКаждого(Делегат) Экспорт - ДобавитьОбработчикСобытия("ПослеЗапуска", Делегат); + ДобавитьОбработчикСобытия("ПослеКаждого", Делегат); Возврат ЭтотОбъект; КонецФункции -// Устанавливает обработчик инициализации, запускаемый перед запуском всех бенчмарков +// Устанавливает обработчик, вызываемый перед запуском всех бенчмарков // // Используется для подготовки данных, инициализации ресурсов или настройки // окружения перед выполнением бенчмарков. @@ -383,27 +386,33 @@ // // Возвращаемое значение: // ЭтотОбъект -Функция УстановитьОбработчикИнициализации(Делегат) Экспорт +Функция УстановитьОбработчикПередВсеми(Делегат) Экспорт - ДобавитьОбработчикСобытия("Инициализация", Делегат); + ДобавитьОбработчикСобытия("ПередВсеми", Делегат); Возврат ЭтотОбъект; КонецФункции -// Устанавливает обработчик завершения +// Устанавливает обработчик, вызываемый после запуска всех бенчмарков // // Используется для освобождения ресурсов, сброса состояний // или финализации данных после выполнения всех бенчмарков. // // Параметры: -// Делегат, Неопределено - Делегат +// Делегат, Неопределено - Делегат: +// * Контекст - Структура: +// ** ДескрипторыБенчмарков - Массив из ДескрипторБенчмарка +// ** Конфигурация - КонфигурацияБенчмарков +// ** РезультатыЗапусков - см. НоваяТаблицаРезультатов +// ** Отчет - ОтчетБенчмарков +// ** СредаОкружения - СредаОкруженияБенчмарков // // Возвращаемое значение: // ЭтотОбъект -Функция УстановитьОбработчикЗавершения(Делегат) Экспорт +Функция УстановитьОбработчикПослеВсех(Делегат) Экспорт - ДобавитьОбработчикСобытия("Завершение", Делегат); + ДобавитьОбработчикСобытия("ПослеВсех", Делегат); Возврат ЭтотОбъект; 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 3a8f682..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,32 +4,54 @@ Процедура Бенчмарк() Экспорт КонецПроцедуры -&Инициализация -Процедура Инициализация(Контекст) Экспорт +&ПередВсеми +Процедура ПередВсеми(Контекст) Экспорт Конфигурация = Контекст.Конфигурация; - События.Добавить("Инициализация"); + События.Добавить("ПередВсеми"); КонецПроцедуры -&Завершение -Процедура Завершение() Экспорт - События.Добавить("Завершение"); +&ПослеВсех +Процедура ПослеВсех(Контекст) Экспорт + + ДескрипторыБенчмарков = Контекст.ДескрипторыБенчмарков; + Конфигурация = Контекст.Конфигурация; + РезультатыЗапусков = Контекст.РезультатыЗапусков; + Отчет = Контекст.Отчет; + СредаОкружения = Контекст.СредаОкружения; + + События.Добавить("ПослеВсех"); + КонецПроцедуры -&Перед -Процедура ПередЗапуском(Контекст) Экспорт +&ПередКаждым +Процедура ПередКаждым(Контекст) Экспорт + ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка; ПараметрыМетода = Контекст.ПараметрыМетода; - События.Добавить("ПередЗапуском"); + + События.Добавить("ПередКаждым"); + КонецПроцедуры -&После +&ПослеКаждого Процедура ПослеЗапуска(Контекст) Экспорт + ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка; - События.Добавить("ПослеЗапуска"); + Параметры = Контекст.Параметры; + Замеры = Контекст.Замеры; + Статистика = Контекст.Статистика; + + События.Добавить("ПослеКаждого"); + КонецПроцедуры -Процедура ПередЗапускомБезПараметров() Экспорт +Процедура ПередЗапускомБезПараметров(Контекст) Экспорт + + ДескрипторБенчмарка = Контекст.ДескрипторБенчмарка; + ПараметрыМетода = Контекст.ПараметрыМетода; + События.Добавить("ПередЗапускомБезПараметров"); + КонецПроцедуры Процедура ПриСозданииОбъекта() 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