Имя: Пароль:
1C
1С v8
СуммаДолга.Выгрузить()
,
0 Renium
 
27.08.13
15:07
Насколько быстрее будет выгрузить только три колонки из девяти, чем все девять? Речь идет о документе "Корректировка долга" в БП2 в формедокумента которого есть Процедура ВывестиНадписи().
В ней код

ТабСумм         = СуммыДолга.Выгрузить();

Я заменил на

ТабСумм         = СуммыДолга.Выгрузить(,"ВидЗадолженности, Сумма, СуммаВзаиморасчетов");

Прирост производительности отнес, в том числе и на счет отсутствие пользователей на сервере вечером. Интересно, узнать чисто в теории...Неужели прирост может составить 30% и тогда почему разработчики выгружают все колонки а используют потом только три?
1 timurhv
 
27.08.13
15:09
(0) Разработчики не выгружают все колонки, они передают структуру сюда:
"ОбщегоНазначения.СформироватьЗапросПоТабличнойЧастиПоОбъекту(ЭтотОбъект, ИмяТЧ, СтруктураТЧ)"
2 timurhv
 
27.08.13
15:10
(1) Применительно к БГУ.
3 Renium
 
27.08.13
15:16
(1) что то я этого не заметил, если просмотреть значение ТабСумм в первом варианте в Табло отладки, то мы там увидим все 9 колонок, во втором три, что понятно...
4 Renium
 
27.08.13
15:17
Ладно... у нас наверное разные БП2.0 :-)))
Вопрос то чисто теоритический, может ли прирост производительности составить 30%?
5 Maxus43
 
27.08.13
15:18
разработчики очень мало думают о оптимизации... ускорить можно практически любые сложные алгоритмы типовых
6 Maxus43
 
27.08.13
15:19
(4) прирост так не замерить, надо проводить несколько тестов, учитывая что кэшируется результат
7 Renium
 
27.08.13
15:19
(5) может им тогда пойти сдавать на Специалиста?
8 Renium
 
27.08.13
15:20
(6) про кэширование я тоже думал...
9 Renium
 
27.08.13
15:20
(6) меня поэтому вопрос интерисует чисто теоритически...
10 timurhv
 
27.08.13
15:20
(4) Конфигурации разные, в БГУ передается структура с наименованием колонок в общий модуль, где формируется/выполняется текст запроса к табличной части объекта.
11 timurhv
 
27.08.13
15:21
(9) Если таблица большая, то да - выполняться теоретически должно дольше.
12 Maxus43
 
27.08.13
15:25
(7) Открою секрет, Типовая УПП 1.2 например не пройдёт тест на "1С: Совместимо" :) Они сами противоречат своим рекомендациям... бесполезно что-то доказывать. В БСП кстати ситуация получше, начали думать уже
13 Maxus43
 
27.08.13
15:26
Это надо на Эксперта сдавать, а не спеца...
14 Renium
 
27.08.13
15:34
(13) То есть сдавая на Спеца на этом ляпе не засыпишься?
(11) Таблица из 4100 строк
(10) Простите, я просмотрел, что речь идет о БГУ
15 Maxus43
 
27.08.13
15:37
(14) на Спецов нет знаний о глубокой оптимизации, принципах работы с СУБД и т.д., наример из (0) - для спеца нет разницы выгружать всё, или конкретные столбцы.
16 Renium
 
27.08.13
15:38
(15) Ясно...
17 Maxus43
 
27.08.13
15:39
Сейчас кстати работаю над обработкой Клиент банк. Таи грубейшая ошибка - запрос в цикле. И ничего, типовая с ним живёт, и 97% времени уходит на этой запрос(ы). Переделать - ускорение нехилое, и просто грамотней будет
18 Renium
 
27.08.13
15:41
Сейчас проверил с первым вариантом (типовым) и со своим...
Прирост показывает 28%...
(17) За это на Спеце тоже не вылитишь? :-)))
19 Renium
 
27.08.13
15:42
(17) Это про БП2.0? :-)
20 Maxus43
 
27.08.13
15:45
(18) На спеце то кстати это минус, но в ТИповых оно есть и не чешется)
Это УПП 1.2, не уверен что в других версиях что-то изменилось. Для ларька не заметно, а при сотнях платёжек - очень даже
21 Renium
 
27.08.13
15:52
(20) Выгрузить(); тоже было не заметно, когда доки были по 100 строк... :-)
Ладно...
А почему до сих пор 1.2 УПП? Это же больше заявление о намерениях, чем рабочая конфа...
22 Maxus43
 
27.08.13
15:55
(21) проект идёт давно, переписано слишком много, обновляем куски нужные и всё, смысла нет скакать. 1.2 то кстати одна из наиболее рабочих УПП
23 Renium
 
27.08.13
16:02
Сам на ней не работал, но слышал много
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший