Skip to content

Commit ef7d004

Browse files
committed
docs: Документирование аннотаций
1 parent a7b23b5 commit ef7d004

File tree

29 files changed

+183
-51
lines changed

29 files changed

+183
-51
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
// Указывает, что метод должен быть измерен как бенчмарк в рамках тестирования производительности.
2+
//
3+
// Методы с этой аннотацией автоматически включаются в процесс бенчмаркинга.
4+
// При запуске будут замеряться время выполнения, аллокации памяти (если включен мониторинг памяти),
5+
// и другие параметры производительности.
6+
//
7+
// Пример:
8+
// &Бенчмарк
9+
// Процедруа МойБенчмарк() Экспорт
10+
// // Тестируемый код
11+
// КонецПроцедуры
12+
&Аннотация("Бенчмарк")
13+
Процедура ПриСозданииОбъекта()
14+
КонецПроцедуры
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
// Указывает, что метод должен быть выполнен после завершения всех бенчмарков.
2+
//
3+
// Метод с этой аннотацией используется для освобождения ресурсов, сброса состояний
4+
// или финализации данных после выполнения всех бенчмарков.
5+
//
6+
// Пример:
7+
// &Завершение
8+
// Процедруа Завершение() Экспорт
9+
// // Очистка данных
10+
// КонецПроцедуры
11+
&Аннотация("Завершение")
12+
Процедура ПриСозданииОбъекта()
13+
КонецПроцедуры
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Указывает, что метод должен быть выполнен один раз перед запуском всех бенчмарков.
2+
//
3+
// Метод с этой аннотацией используется для подготовки данных, инициализации ресурсов
4+
// или настройки окружения перед выполнением бенчмарков.
5+
//
6+
// Пример:
7+
// // Параметры:
8+
// // Конфигурация - КонфигурацияБенчмарков
9+
// &Инициализация
10+
// Процедруа Инициализация(Конфигурация) Экспорт
11+
// // Подготовка данных
12+
// КонецПроцедуры
13+
&Аннотация("Инициализация")
14+
Процедура ПриСозданииОбъекта()
15+
КонецПроцедуры
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Указывает, сколько раз метод бенчмарка должен быть вызван в течение одной итерации.
2+
//
3+
// Используется для увеличения времени выполнения итерации, что повышает точность измерений
4+
// для методов с очень быстрым временем выполнения.
5+
//
6+
// - Применяется только к методу ПриСозданииОбъекта
7+
// - Если установлено "0", то количество будет рассчитано автоматически
8+
//
9+
// Пример:
10+
// &КоличествоВызововЗаИтерацию(100)
11+
// Процедруа ПриСозданииОбъекта()
12+
// // ...
13+
// КонецПроцедуры
14+
&Аннотация("КоличествоВызововЗаИтерацию")
15+
Процедура ПриСозданииОбъекта()
16+
КонецПроцедуры
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
// Задает количество итераций для основных этапов (ЭтапыБенчмарка.Результат, ЭтапыБенчмарка.Память).
2+
//
3+
// Используется для тонкой настройки баланса между точностью измерений и временем выполнения теста.
4+
// Увеличение итераций повышает стабильность результатов, но увеличивает общее время прогона.
5+
//
6+
// Применяется только к методу ПриСозданииОбъекта
7+
//
8+
// Пример:
9+
// &КоличествоИтераций(20)
10+
// Процедруа ПриСозданииОбъекта()
11+
// // ...
12+
// КонецПроцедуры
13+
&Аннотация("КоличествоИтераций")
14+
Процедура ПриСозданииОбъекта()
15+
КонецПроцедуры
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Задает количество прогревочных итераций для подготовки окружения перед выполнением основных замеров бенчмарка.
2+
//
3+
// Прогревочные итерации используются для стабилизации системы: прогрев кэшей,
4+
// инициализация внешних ресурсов. Результаты этих итераций не учитываются в финальной статистике.
5+
//
6+
// - Применяется только к методу ПриСозданииОбъекта
7+
// - Если установлено "0", то прогревочный этап будет пропущен
8+
// - Игнорируется для стратегии "ХолодныйЗапуск"
9+
//
10+
// Пример:
11+
// &КоличествоИтерацийПрогрева(10)
12+
// Процедруа ПриСозданииОбъекта()
13+
// // ...
14+
// КонецПроцедуры
15+
&Аннотация("КоличествоИтерацийПрогрева")
16+
Процедура ПриСозданииОбъекта()
17+
КонецПроцедуры
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
// Задает минимальное время выполнения одной итерации бенчмарка в миллисекундах.
2+
//
3+
// BenchmarkOneScript динамически подбирает количество вызовов за итерацию (см. АннотацияКоличествоВызововЗаИтерацию) так,
4+
// чтобы одна итерация длилась не меньше указанного времени.
5+
// Увеличивает стабильность замеров для коротких операций.
6+
//
7+
// - Применяется только к методу ПриСозданииОбъекта
8+
// - Игнорируется для стратегии "ХолодныйЗапуск"
9+
//
10+
// Пример:
11+
// &МинимальноеВремяИтерации(1000)
12+
// Процедруа ПриСозданииОбъекта()
13+
// // ...
14+
// КонецПроцедуры
15+
&Аннотация("МинимальноеВремяИтерации")
16+
Процедура ПриСозданииОбъекта()
17+
КонецПроцедуры
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Задает минимальное количество вызовов метода в течение одной итерации бенчмарка.
2+
//
3+
// Гарантирует, что метод будет выполнен не менее указанного числа раз,
4+
// даже если автоматический расчет предполагает меньшее количество вызовов.
5+
//
6+
// - Применяется только к методу ПриСозданииОбъекта
7+
// - Игнорируется для стратегии "ХолодныйЗапуск"
8+
//
9+
// Пример:
10+
// &МинимальноеКоличествоВызововЗаИтерацию(10)
11+
// Процедруа ПриСозданииОбъекта()
12+
// // ...
13+
// КонецПроцедуры
14+
&Аннотация("МинимальноеКоличествоВызововЗаИтерацию")
15+
Процедура ПриСозданииОбъекта()
16+
КонецПроцедуры
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// Включает мониторинг выделения памяти и сборок мусора (GC).
2+
//
3+
// При использовании этой аннотации в отчете будут отображаться:
4+
// - Аллокации памяти в байтах за итерацию
5+
// - (нет) Количество сборок мусора для поколений (Gen 0, Gen 1, Gen 2) - пока нет необходимости, но средство получения есть
6+
//
7+
// Применяется только к методу ПриСозданииОбъекта.
8+
//
9+
// Пример:
10+
// &МониторингПамяти
11+
// Процедруа ПриСозданииОбъекта()
12+
// // ...
13+
// КонецПроцедуры
14+
&Аннотация("МониторингПамяти")
15+
Процедура ПриСозданииОбъекта()
16+
КонецПроцедуры
File renamed without changes.

0 commit comments

Comments
 (0)