#0
by trancer
Всем привет. Есть УФ. При создании её на сервере создаю ТЗ (100000 строк), кладу во временное хранилище (на сервере). Потом с клиента делаю безконтекстный вызов, достаю ТЗ из ВХ, меняю, кладу ТЗ обратно в ВХ. Замер производительности показывает то, чего я не понимаю. Почему на вызов он (замер) отнёс всё время? Почему на ПолучитьИзВременногоХранилища и ПоместитьВоВременноеХранилище замер отнес мало времени, а на ВызовСервераБезКонтекста замер фактически отнёс ВСЁ время? Как-то неинформативно. Куда время-то ушло? Вот код модуля формы: ТЗ.Колонки.Добавить("Колонка1", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); ТЗ.Колонки.Добавить("Колонка2", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); ТЗ.Колонки.Добавить("Колонка3", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); ТЗ.Колонки.Добавить("Колонка4", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); ТЗ.Колонки.Добавить("Колонка5", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); ТЗ.Колонки.Добавить("Колонка6", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); ТЗ.Колонки.Добавить("Колонка7", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); ТЗ.Колонки.Добавить("Колонка8", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); ТЗ.Колонки.Добавить("Колонка9", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); ТЗ.Колонки.Добавить("Колонка10", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(10, ДопустимаяДлина.Фиксированная))); &НаСервереБезКонтекста Вот скрин замера
#5
by trancer
специально для этого сделал второй безконтекстный вызов, в котором НЕ провожу операции с ВХ. В указанном коде - это ВызовСервераБезКонтекста1. Его выполнение занимает 0,014733 с. В противовес 0,442244 с вызова, которые работает с ВХ.
#7
by bzaugolnov
Есть предположение: При серверном вызове, временное хранилище тоже путешествует , если есть обращение к нему.
#8
by trancer
насколько я понимаю есть ВХ на сервере и на клиенте. И они туда сюда не путешествуют и соответственно не пересекаются (они просто физически в разных местах). Но есть предположение, что 1с-ка как-то понимает, что в конкретном вызове есть обращение к ВХ и распаковывает это ВХ в самом начале вызова. Хотя как она это может понять непонятно.
#11
by trancer
как тогда это объяснить? Я понимаю, что можно забить и использовать это, но хочу понять.
#12
by H A D G E H O G s
Проверь это Окуенным по размеру данным массивом, получая его на клиенте из ВХ. Проверь это processmanager-ом. Под Толстым клиентов в файловом режиме - ВХ - это данные, записанные в файл 1Cv8tmp.1CD В клиен-сервервном - один из "v8_EAAD_1.tmp", записанных в tmp папку службой сервера 1С.
#13
by H A D G E H O G s
Под Тонким - не проверял, но вот Вебклиент зарезал бы все при попытке писать чето неинтерактивно на диск.
#14
by bzaugolnov
Что именно проверить? Если хранилище доступно и на сервере и на клиенте, значит оно перемещается. Вопрос как это оптимизировано?
#17
by H A D G E H O G s
Перемещается оно в момент Получить/Поместить во временное хранилище, ИМХО. Но это можно проверить, сделав Массив=ПолучитьИзВременногоХранилища(АдресОкуенноБольшогоМассива): на клиенте.
#18
by trancer
Хм. ВХ правда что ли путешествует?.. Я думал что нет.. Вот простая проверка: при создании на сервере На клиенте потом И выходит "2". То есть ВХ похоже путешествует. Тогда остается вопрос каким образом 1с-ка понимает, что в серверном вызове есть обращение к ВХ. Если такая операция вообще имеет место быть.
#21
by trancer
я кажись понял, что ты сказал. ВХ хранится НА СЕРВЕРЕ. И при вызове ПоместитьВоВременноеХранилище на клиенте данные ГОНЯТСЯ НА СЕРВЕР. Или наоборот: поместили данные в ВХ на сервере, потом получаем их на клиенте, и ВОТ ТУТ данные из ВХ на сервере ГОНЯТСЯ НА КЛИЕНТ. Так?
#27
by hhhh
а если вообще без хранилища сделать. Миллион команд по заполнению тз сколько времени займут? Тз - ведь очень тормозная вещь.
#29
by trancer
суть задачи - тема отдельной ветки. Здесь же у меня довольно конкретный вопрос. Не сочти за резкий ответ, просто не хочу в сторону дискуссию уводить.
#30
by H A D G E H O G s
Ну может замер гонит. Проверь большим массивом, получи его на клиенте, сравни время с получением на сервере.
#31
by trancer
походу действительно замер гонит. Сделал, как ты говоришь. Вот код: &НаКлиенте При получении массива из ВХ на сервере картина ТАКАЯ же, как в . При получении массива из ВХ на клиенте замер показывается 2.6 с на выполнении функции ПолучитьИзВременногоХранилища, то есть правду говорит. Ну что, остановимся на "гонящем" замере?
#33
by trancer
Обработки.ТестТонкийКлиент.СоздатьМассив - это функция в модуле менеджера. Она создает массив из 100000 элементов строк вида "0123456789". Кому интересно поиграться, вот обработка эта
#36
by H A D G E H O G s
Я вот счаст поиграюсь с заполнением ТЗ. Типизированное и нет. По времени и памяти. Вот это - интересно.
#39
by simol
Поставь точку останова на получении из хранилища и замерь вызов до этой точки. Сохранится ли 0,44с? А вообще замер в последних релизах часто ерунду стал показывать
#40
by vmv
по фрагменту кода в понятно, что вы не туда попали - надо было учиться на повара ну кто так иницициализирует колонки со стандартно иденексированным именем и идентичным типом, там же цикл в одну строку.
#41
by trancer
нормальный ход) Троль что ли? Обращаюсь к модераторам, за случайно не банят? Мне всё равно, может он другим насолит.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Ключ защиты установлен на сервере 1, а сервер 1С 8.1 на сервере 2
- Временное зависание при переиндексации и ТИИ и т.д.
- v8.2 УФ Надо ли удалять временное хранилище "ДанныеРасшифровки" при закрытии ?
- Тонкий клиент: текущие вызовы / накопленные вызовы
- Вопрос про временное хранилище
- Поместить файл во временное хранилище на веб-клиенте
- замещение временное без отрыва от основного места работы
- Как поместить COMОбъекта Word.Application во временное хранилище?
- 2ндфл и временное убежище
- Как использовать временное хранилище в фоновом задании
- Поместить во временное хранилище документ объект
- БСП Дополнительная обработка и Временное хранилище в фоновых заданиях
В этой группе 1С
- ЗУП Сдельный наряд
- Снятие запрета редактирования на наименование справочника пользователи (8.2)
- 1С УПП Отчет "Калькуляция себестоимости" не формируется
- v7: Объект заблокирован: Журнал расчетов журнал зарплата
- УТ 10.3 Где добавляются элементы быстрого отбора в универсальном отчете?
- УТ 10.3 Остаток организации > свободного остатка. Где искать?
- служба ragent. замена портов
- ConnectAgent ошибка
- v7: Как Можно в отчёте объединить ячейки разных секций?
- ЗагрузкаДанныхИзТабличногоДокумента.epf
- "Win+MS SQL 2008" vs "Linux+PostgreSQL 9.0.3" - сравнение производительности
- Как выгрузить ТаблицуЗначений по отбору с условием (зн<0)
- Запись в табличную часть из таблицы значений
- УТ 10.3 партии и заказы покупателей
- v7: Получить периодическое значение справочника 1С 7.7 в прямом запросе
- v7: 1С <-> XML (CommerceML(2))
- Как программно переключить закладку панели?
- Как указать в выражении для параметра макета пользовательское поле?
- Как вытащить правила обмена из универсального обмена?
- Как очистить движение при перепроведении