Имя: Пароль:
1C
1С v8
Оптимизация работы 1С
0 Jmme
 
13.11.16
20:21
Дорогие Друзья.С оптимизацией 1С почти не связывался. По этому прощу помощи! Нахожусь в отладке. На строчке "КонецПроцедуры" (процедура на сервере) нажимаю F11(делаю шаг) и происходит зависание примерно секунд на 20. Потом все идет хорошо. Почему происходит такое зависание? (При замере производительности в процедуре все исполняется быстро а сама процедура виснет только на шаге "КонецПроцедуры"). Заранее спасибо.
1 RomanYS
 
13.11.16
20:22
(0) УФ?
2 Jmme
 
13.11.16
20:24
Да
3 lxs
 
13.11.16
20:26
Научись пользоваться стеком вызовов, там все станет ясным
4 Jmme
 
13.11.16
20:42
Зависание происходит именно на шаге выхода из процедуры. В стеке не чего нового не происходит. Зависает именно в тот момент когда управление возвращается к той процедуре из которой она была вызвана.
5 yzimin
 
13.11.16
20:49
(4) смотри подписки на события
6 Боровик Сергей
 
13.11.16
20:53
(0) На шаге выхода из процедуры происходит очистка локальных переменных. В одной из локальных переменных может "сидеть" что то тяжелое. Тогда и очистка (разрушение) этого объекта может происходить долго.
7 Jmme
 
13.11.16
21:04
Процедура состоит из 5 строк в которых вызываются другие процедуры, Переменные не создаются. (В процедурах происходит работа с динамическим списком). Но зависает иммено при выходе из этой процедуры -->(http://pixs.ru/uploaded/Visnetpng_8270210_24030850.png/24030850_8439520/)
8 H A D G E H O G s
 
13.11.16
21:05
(0) Возврат на клиент и передача параметров функции и(или) контекста формы
9 Шурик71
 
13.11.16
21:06
м-да..

я сегодня добр и включил режим "телепат:да":
* происходит выход из серверной процедуры
* эта процедура вызвана из клиента
* далее - 2 варианта:
** (менее вероятный) а) возвращается или передается в параметрах какая-то переменная  типа ТЗ (структура массивов) на 100500 строк и колонок или что-то массивное (объект)
** (более вероятный) исп-ся контекстный вызов &НаСервере (а не НаСервереБезКонтекста) а в самом объекте огромное содержимое

Угадал?

Так вот, в течение этих 20 секунд происходит возврат вот этих многодесяткомегабайтных данных с сервера на клиента  :)
10 Шурик71
 
13.11.16
21:07
опоздал :(
11 H A D G E H O G s
 
13.11.16
21:07
(7) передача контекста формы на клиент.

Это может быть чето большое в нединамических данных, либо изменились метаданные в форме (незаметный заголовок надписи) и кэш формы стал невалидным
12 Jmme
 
14.11.16
00:15
Всем спасибо! *Особенное Спасибо Шурик71.
13 Злопчинский
 
14.11.16
00:25
(9) за 20 сек под полгига-гиг прокачаться должно
14 DrZombi
 
гуру
14.11.16
07:26
(0) Потому что "Кривые руки разработчика" по работе с УФ :)
15 DrZombi
 
гуру
14.11.16
07:27
(9) Выбираю пункт № 2... Контекст скорей всего огромен :)
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn