v8: как ускорить загрузку в регистр бухгалтерии #693364


#0 by Garry1010
Удивительное дело, каким образом 1С пишет свои методы объектов. В продолжение своей ранней темы с переносом проводок в МСФО занимаюсь сейчас ускорением работы этой шняги. Стал делать заполнение проводок через Таблицу значений, чтобы потом всё скопом загрузить в регистр и - О, ужас! Строка:     Движения.Международный.Загрузить(тзМСФО); работает так же медленно, как и обычный вариант с прямым созданием записей. Даже отключение использования итогов для регистра бухгалтерии не помогает. Зато вариант с построчным добавлением записей в регистр работает в 10(!) раз быстрее (160 секунд вместо 1366). То есть что-то типа: ...даёт офигенный прирост скорости. Я обалдеваю... Может кому-то поможет при поиске ответа на вопрос "как ускорить загрузку в регистр бухгалтерии".
#1 by Maxus43
Что за тзМСФО? сколько записей? колонки типизированы?
#2 by ptiz
Не верю, что в этом дело.
#3 by Azverin
о, ужас!
#4 by Кирпич
мож под отладкой запускаешь
#5 by Garry1010
Очевидно, что ТаблицаЗначений.;) 25408 строк - нормально? Строго типизированы, ибо созданы выгрузкой из регистра (когда он пустой вначале): тзМСФО = Движения.Международный.Выгрузить; Сам не верю... Вообще-то, да.[:шарк:] И сейчас вот без отладки что-то тормозит, собака! О_О Как это вообще возможно??? Они там в 1С вообще сдурели, что ли?.. Хотя исходный вариант с загрузкой всей таблицы ведь тоже под Отладчиком сидел, однако не ускорялся от него.-_- Чудеса! Я добавил в цикл вывод состояния с прогресс-баром - и всё полетело красиво и быстро, как под отладкой.
#6 by H A D G E H O G s
Хрень какая-то.
#7 by Garry1010
Не то слово!О_О
#8 by МимохожийОднако
+ 1 - 1
#9 by Apokalipsec
В не вижу, чтобы записывалась запись в регистр, автор ты просто добавляешь?)) Автор - черепашка.
#10 by vde69
для отлдадчика каждая лишняя строка = замедление, если отладчика нет - количество строк влияет только если код выполняется на клиенте, при выполнении на сервере писать в одну строку не имеет смысла. собственно именно по этому ты и поимел неверные оценки скорости
#11 by hhhh
перебор-то понятно должен быстрее работать, чем Загрузить. попробуйте еще заменить ЗаполнитьЗначенияСвойств, еще быстрее получится.
#12 by Garry1010
Так это документ ПереносПроводок такой - там сначала заполняются проводки, показываются в форме документа и лишь потом документ записывается вместе с регистрами своими. Ясен пень, что я не собираюсь записывать в базу 25408 строк по одной строке.[:гы-гы:]
#13 by Garry1010
Посмотрим - пока, вроде, удалось добиться ускорения. Хз. Обычно встроенные методы должны(?) работать быстрее - они же не подвергаются интерпретации кода. Видать, тут у 1С что-то криво написано. Не понял про "если отладчика нет - количество строк влияет только"... По идее, наоборот, чем меньше строк, тем быстрее должно жужжать - верно? А тут - наоборот.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С