Бутылочное горлышко выгрузки товаров на сайт
Выгрузка данных на сайт стала работать медленно, не успевала до тайм-аута.
Решил сделать замер производительности и обнаружил «узкое» место:

Я зачем-то (для красоты видимо) добавлял выгрузку уровня элемента, на нем все и тормозило. Уровень при необходимости можно получать и в запросе, но я просто отключил его выгрузку, стало работать быстрее:

В общем, это классический «тормоз», когда идет получение реквизита объекта через точку. Только неявное, в вызове функции, среди таких функций еще, например ПолныйКод.




Так просто, для понимания.
> когда идет получение реквизита объекта через точку
Это не так. Уровень элемента не хранится в базе. Он вычисляется запросом в БД, при вызове функции Уровень().
> Уровень при необходимости можно получать и в запросе
В языке запросов нет функции (или поля) Уровень.
Можно сделать свою реализацию, но это сильно усложняет запрос и не всегда получается сделать универсально.
Можно сгруппировать по иерархии и на этапе выборки вычислять по уровню выборки, но не всегда подходит.
а зачем универсально? через родитель.родитель.родитель и т.п. 😉
Точно. Говнокода должно быть много
Этой субстанции много в типовых в целом и в БСП в частности, если вы любитель.
Причем тут типовые и бсп? Говеокрдом названо твое предложение, ибо это говнокод
Тю… Вы возомнили себя критиком и судьей … Мимо. За качество моего кода голосуют клиенты рублем, а не анонимы в сети.
За продукты 1С голосуют рублëм, значит они качественные? Только не надо про монополию — рынок открыт, за 30 лет уж можно было альтернатив наплодить при острой необходимости.
не всегда монополия — признак качества. Иногда монополии прилагают много усилий чтобы топить конкурентов.
А как 1С затопила конкурентов? Были истории?
ну например с покупкой УНФ. или их эпичная война с Контуром и СБИС.
То есть, ты подложил клиенту свинью, добавив ненужную штуку и не подумав о производительности?
«подложил свинью» это громко сказано.
А надо говорить тихо? Напоминаю, это результат работы человека, берущего 5000 р/час, именующего себя гением 1с, критиующего компанию 1с и считающего, что производительность это для условных ашанов (оказывается, нет).
буквоедство в 1С признак профнепригодности. вам не в 1С, коллега. Тут вы не добьетесь успеха.
Совет от человека, который не даëт непрошенных советов — очень ценно. Давай продолжим про твои «успехи». Расскажи, почему гений влепил ненужную вещь, не подумав о производительности?
ввиду отсутствия ТЗ, для автоматизации с колес это нормальное дело.
я не могу все знать, тем более, что уровень не хранится в БД, а вычисляется на лету. мой гений не в эрудиции, а в практичности.
Втиснуть ненужную вещь с плохой производительностью — это практично и гениально?
обсуждать производственные мелочи — это глупо и не практично.
А мнить себя гением, занимаясь преимущественно мелочами — это умно?
я не мню себя гением, у меня просто такой ник.
«я не мню себя гением, у меня просто такой ник.»
Откуда такой ник взялся?
да как-то прилип из-за гениальных решений.
«мой гений не в эрудиции, а в практичности» — а это что? Про ник?))
это про ваше буквоедство. Больше практицизма, коллега!
Это не моë буквоедство, а твоë зазнайство и нежелание работать над ошибками. В общем-то, ты ведëшь себя как компания 1С — бабки зарабатываются, значит всё ок и не надо менять что-то. Только почему ты тогда критикуешь 1С?
ну я не монополист. и клиент выбирает меня среди прочих. аналогии хромают.
А если 1С удалось стать монополистом в честной борьбе, значит они всë правильно делают, не?
монополия всегда зло и деградация.
То есть компания должна себе конкурентов придумывать, что ли? Или государство должно обанкротить 1С? А может, платить тебе 6000 в час всегда зло и деградация?
в жизни нет понятия «должно». у государства есть ФАС, но он дремлет…
следовательно, капитализм плохо регулируется государством. В итоге КПД общества понижается.
И стоимость часа программиста повышается.
Мне это хорошо, бизнесу не очень.
А что, 1С нарушает закон?
скорее ФАС у нас игнорирует 1С-монополию. А раз игнорирует, значит это кому-то нужно.
А что, разве у компаний нет выбора? 1С ведëт нечестную конкуренцию? А что должна сделать ФАС, инвестировать в F3 или что?
ну например заблокировать покупку УНФ компанией 1С и многое подобное.
Не нужно учить ФАС работать, она это умеет. или должна уметь. если перекрыть «черное» финансирование ЛПР
Дык это, «в жизни нет понятия «должно»».
у закона есть понятие «должно»
А какую статью закона нарушила 1С?
я не юрист. Но за законом следит ФАС, должен по крайней мере
А почему ты считаешь, что не следит? Не юрист, но утверждаешь, что ФАС должна что-то там сделать в отношении 1С. На каком основании?
а я не в суде. это мое мнение.
Ты затрудняешься объяснить, на чëм основано твоë мнение?
Не вижу смысла в этой дискуссии. Мое мнение — это мое мнение.
Кстати, можно было бы начать с привлечения 1с к ответственности за нарушение свободы конкуренции в ЭДО, когда она не пустила в 1С:ЭДО Контур и Сбис. Или это тоже «законно»?