Форум на Kuban.ru (http://forums.kuban.ru/)
-   Территория 1С (http://forums.kuban.ru/f1040/)
-   -   Замер производительности кода (http://forums.kuban.ru/f1040/zamer_proizvoditel-nosti_koda-9077322.html)

Sasha 14.07.2020 19:22

Замер производительности кода
 
Добрый день, необходимо разобраться в причинах долгой отработки одного кода. Замер производительности выдал следующую картину:
[img]https://c.radikal.ru/c06/2007/9f/cbbded9ca42d.png[/img]

Видно, что больше всего времени выполняется процедура ПолучитьПредварительноНоменклатуруПоКоду

Однако, в этой процедуре всего одна строка
Возврат Справочники.Номенклатура.НайтиПоРеквизиту("Код77",КодНоменклатуры77).Ссылка;

Поле Код77 индексированное.
На эту строку по замеру уходит меньше секунды при кол-ве 149.
Так почему первая строка при таком же кол-ве 149 выполняется аж 229 секунд. Это операция "=" (присвоение) такая долгая получается?

Sasha 14.07.2020 19:34

Операция присвоения убрал. Дело не в ней.
[img]https://b.radikal.ru/b24/2007/88/e4f8d9462376.png[/img]

Прошу знатоков помочь - как узнать, на что уходит 234 секунды если в этой процедуре одна строка, на которую уходит меньше секунды ?

Sasha 14.07.2020 20:36

Итак, простая Функция в которой написано "Возврат 0" при директиве &наСервере занимает много времени.

Получается тормозит именно передача Клиент-Сервер. Вопрос, куда копать чтобы исправить ситуацию в лучшую сторону ?

Sasha 14.07.2020 20:48

Помогла директива &НаСервереБезКонтекста

specx 15.07.2020 08:42

[quote=Sasha;47780881] Помогла директива &НаСервереБезКонтекста [/quote]

а можешь скрин с тем что помогло, с измерением произ-ти ?

Jimbo 15.07.2020 10:05

НайтиПоРеквизиту - старая обьектная техника, перепиши на запрос

US1C 15.07.2020 11:26

Причем лучше получить одним запросом всю нужную номенклатуру, а потом уже из выборки получать конкретную позицию.


Текущее время: 10:20. Часовой пояс GMT +3.