|
5 | 5 | #Использовать "helpers" |
6 | 6 | #Использовать "fixtures/benchmarks" |
7 | 7 |
|
8 | | -Перем _КоэффициентОтклоненияЗадержки; // Число, Неопределено |
9 | | - |
10 | 8 | #Область Тесты |
11 | 9 |
|
12 | 10 | &Тест |
|
102 | 100 | // Подготовка |
103 | 101 | КоличествоВызововЗаИтерацию = 3; |
104 | 102 | Тип = Тип("БенчмаркиСЗадержкой"); |
105 | | - КоэффициентОтклонения = ПолучитьКоэффициентОтклоненияЗадержки(); |
106 | | - ГраницыДляЗадержки10 = ГраницыОжидаемогоСреднего(10, КоэффициентОтклонения); |
107 | 103 |
|
108 | 104 | ДескрипторБенчмарка = Новый КоллекцияДескрипторовБенчмарков(Тип) |
109 | 105 | .НайтиПоИмени("Задержка10"); |
|
119 | 115 | // Проверка |
120 | 116 | Замер = Результат.Запуски[0].НайтиИтерациюЗамера(ЭтапыБенчмарка.Измерение, 1); |
121 | 117 | КоэффициентОпераций = Замер.Наносекунд / Замер.НаносекундЗаОперацию; |
122 | | - Статистика = Результат.Запуски[0].Статистика.ВМиллисекунды(); |
123 | 118 |
|
124 | 119 | Ожидаем.Что(Замер.КоличествоОпераций).Равно(КоличествоВызововЗаИтерацию); |
125 | 120 | Ожидаем.Что(КоэффициентОпераций).Между( |
126 | 121 | КоличествоВызововЗаИтерацию - 0.01, |
127 | 122 | КоличествоВызововЗаИтерацию + 0.01 |
128 | 123 | ); |
129 | | - Ожидаем.Что(Статистика.Среднее).Между(ГраницыДляЗадержки10.Нижняя, ГраницыДляЗадержки10.Верхняя); |
| 124 | + Ожидаем.Что(Замер.НаносекундЗаОперацию).Больше(0); |
130 | 125 |
|
131 | 126 | КонецПроцедуры |
132 | 127 |
|
|
169 | 164 |
|
170 | 165 | // Подготовка |
171 | 166 | Тип = Тип("БенчмаркиСЗадержкой"); |
172 | | - КоэффициентОтклонения = ПолучитьКоэффициентОтклоненияЗадержки(); |
173 | | - ГраницыДляЗадержки10 = ГраницыОжидаемогоСреднего(10, КоэффициентОтклонения); |
174 | | - ГраницыДляЗадержки20 = ГраницыОжидаемогоСреднего(20, КоэффициентОтклонения); |
175 | 167 |
|
176 | 168 | Конфигурация = Новый КонфигурацияБенчмарков(Тип) |
177 | 169 | .УстановитьКоличествоИтераций(3) |
|
188 | 180 | Статистика1 = Запуски[0].Статистика.ВМиллисекунды(); |
189 | 181 | Статистика2 = Запуски[1].Статистика.ВМиллисекунды(); |
190 | 182 |
|
191 | | - Ожидаем.Что(Статистика1.Среднее).Между(ГраницыДляЗадержки10.Нижняя, ГраницыДляЗадержки10.Верхняя); |
192 | | - Ожидаем.Что(Статистика2.Среднее).Между(ГраницыДляЗадержки20.Нижняя, ГраницыДляЗадержки20.Верхняя); |
193 | | - Ожидаем.Что(Статистика1.СтандартноеОтклонение).Больше(0); |
194 | | - Ожидаем.Что(Статистика2.СтандартноеОтклонение).Больше(0); |
195 | | - Ожидаем.Что(Статистика1.СтандартнаяОшибкаСреднего).Больше(0); |
196 | | - Ожидаем.Что(Статистика2.СтандартнаяОшибкаСреднего).Больше(0); |
197 | | - Ожидаем.Что(Статистика1.Медиана).Между(ГраницыДляЗадержки10.Нижняя, ГраницыДляЗадержки10.Верхняя); |
198 | | - Ожидаем.Что(Статистика2.Медиана).Между(ГраницыДляЗадержки20.Нижняя, ГраницыДляЗадержки20.Верхняя); |
| 183 | + Ожидаем.Что(Статистика1.Среднее).Больше(0); |
| 184 | + Ожидаем.Что(Статистика2.Среднее).Больше(Статистика1.Среднее); |
| 185 | + Ожидаем.Что(Статистика1.СтандартноеОтклонение).БольшеИлиРавно(0); |
| 186 | + Ожидаем.Что(Статистика2.СтандартноеОтклонение).БольшеИлиРавно(0); |
| 187 | + Ожидаем.Что(Статистика1.СтандартнаяОшибкаСреднего).БольшеИлиРавно(0); |
| 188 | + Ожидаем.Что(Статистика2.СтандартнаяОшибкаСреднего).БольшеИлиРавно(0); |
| 189 | + Ожидаем.Что(Статистика1.Медиана).Больше(0); |
| 190 | + Ожидаем.Что(Статистика2.Медиана).Больше(Статистика1.Медиана); |
199 | 191 | Ожидаем.Что(Отчет.Таблица[0][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Равно(1); |
200 | 192 | Ожидаем.Что(Отчет.Таблица[1][КолонкиОтчетаБенчмарков.КоэффициентПроизводительности]).Больше(1); |
201 | 193 |
|
202 | 194 | КонецПроцедуры |
203 | 195 |
|
204 | 196 | #КонецОбласти |
205 | | - |
206 | | -#Область СлужебныеПроцедурыИФункции |
207 | | - |
208 | | -Функция ПолучитьКоэффициентОтклоненияЗадержки() |
209 | | - |
210 | | - Если Не _КоэффициентОтклоненияЗадержки = Неопределено Тогда |
211 | | - Возврат _КоэффициентОтклоненияЗадержки; |
212 | | - КонецЕсли; |
213 | | - |
214 | | - Тип = Тип("БенчмаркиСЗадержкой"); |
215 | | - |
216 | | - ДескрипторБенчмарка = Новый КоллекцияДескрипторовБенчмарков(Тип) |
217 | | - .НайтиПоИмени("Задержка10"); |
218 | | - |
219 | | - Конфигурация = Новый КонфигурацияБенчмарков(Тип) |
220 | | - .УстановитьКоличествоИтераций(1) |
221 | | - .УстановитьКоличествоПрогревочныхИтераций(0) |
222 | | - .УстановитьКоличествоВызововЗаИтерацию(10); |
223 | | - |
224 | | - Репортер = Новый НулевойРепортерБенчмарков(); |
225 | | - Запускатель = Новый ЗапускательБенчмарков(ДескрипторБенчмарка, Конфигурация, Репортер); |
226 | | - Результат = Запускатель.Запустить(); |
227 | | - Среднее = Результат.Запуски[0].Статистика.ВМиллисекунды().Среднее; |
228 | | - |
229 | | - _КоэффициентОтклоненияЗадержки = Среднее / 10; |
230 | | - |
231 | | - Возврат _КоэффициентОтклоненияЗадержки; |
232 | | - |
233 | | -КонецФункции |
234 | | - |
235 | | -Функция ГраницыОжидаемогоСреднего(ОжидаемоеСреднее, КоэффициентОтклонения) |
236 | | - |
237 | | - СкорректированноеСреднее = ОжидаемоеСреднее * КоэффициентОтклонения; |
238 | | - Допуск = СкорректированноеСреднее * 0.25; |
239 | | - |
240 | | - Возврат Новый Структура( |
241 | | - "Нижняя, Верхняя", |
242 | | - СкорректированноеСреднее - Допуск, |
243 | | - СкорректированноеСреднее + Допуск |
244 | | - ); |
245 | | - |
246 | | -КонецФункции |
247 | | - |
248 | | -#КонецОбласти |
0 commit comments