Простой способ проверки быстродействия
Простой (а точнее, мегапростой) способ проверки быстродействия, когда очень важно его, быстродействие, улучшить
- Описание
- Подробнее
Описание
Платформа, релиз, конфигурация – абсолютно любые. Из инструментов только штатный Замер производительности. Все примеры сделаны на управляемых формах, но с обычными ровно то же самое.
Это, можно сказать, просто лайфхак. Способ проверять гипотезы, когда нужно бороться за скорость.
&НаКлиенте
Процедура Тыц(Команда)
ТыцНаСервере();
КонецПроцедуры
&НаСервере
Процедура ТыцНаСервере()
Для Счетчик = 1 По 50 Цикл
Метод1();
Метод2();
КонецЦикла;
КонецПроцедуры
&НаСервере
Процедура Метод1()
//Какой-то код
КонецПроцедуры
&НаСервере
Процедура Метод2()
//Какой-то код
КонецПроцедуры
Два алгоритма, которые нужно сравнить, помещаем в Метод1 и Метод2. Потом запускаем Замер производительности. Когда открывается окно с результатами, ставим там галку Для вызова процедур и функций включать время выполнения (1). Ещё установим сортировку по строкам модуля (2) и вот они, наши процедуры, как на ладони (3):
Штука здесь в том, что методы вызываются в цикле. Это нужно, чтобы минимизировать влияние сторонних факторов (что-то где-то кэшировалось, процессор отвлёкся на что-то своё, ещё какая-то из 100500 причин…).
Для Счетчик = 1 По 50 Цикл
Метод1();
Метод2();
КонецЦикла;
Собственно, это всё. На скрине выше результат, когда процедуры идентичны. Так что метод, в принципе, работает. Результат не то, чтобы абсолютно одинаковый, но почти. Будем считать, что погрешность где-то в районе процента – это вполне нормально.