Как стать автором
Обновить

Комментарии 25

Это круто технически, но у меня есть сомнения в финансовой стороне. Вы потратили невероятную кучу ресурсов, чтобы спуститься до уровня асма в библиотеках окружения. Получили ускорение в 2 раза для относительно редко-выполняемой части (расчет себестоимости). Какой срок окупаемости у этого? Точно это надо было делать?

расчет себестоимости выполняется десятки раз в год(как минимум для подготовки отчетности) и для РЕАЛЬНО БОЛЬШИХ предприятий он занимает иногда реально ДНИ... и ускорение в два раза по сути бесплатное - это экономия десятков, а то и сотен часов...

и ускорение в два раза по сути бесплатное - это экономия десятков, а то и сотен часов

да, но это экономия времени оборудования, а не сотрудников. Это время обычно массово никому не нужно по ночам. Поэтому у меня и такие сомнения.

И ускорение совсем не бесплатное. Огласите, пожалуйста, размер затрат (хотя бы в часах работы, если нельзя суммы называть).

да, но это экономия времени оборудования, а не сотрудников. Это время обычно массово никому не нужно по ночам. Поэтому у меня и такие сомнения.

Бухгалтерия тоже не может работать с "воздухом" и без первичных расчетов работать трудно... а когда надо поправить пару тройку десятков значения чтобы привести Себестоимость к нормальному виду.... иногда выходит и по 10-ку итераций...

так что это прямая экономия времени работы персонала - особенно когда сам расчет себестоимости Длится днями, а заканчивается Пшиком и/или сильно странными цифрами...

И ускорение совсем не бесплатное. Огласите, пожалуйста, размер затрат (хотя бы в часах работы, если нельзя суммы называть).

ну вот конкретно в Этом исследовании оно уже произведено и найден очередной "ключ" решающий скорее всего очень комплексный набор проблем - так что сейчас оно размажется на тысячи внедрений и конечная стоимость НИОКР относительно результата Будет копеечно-ничтожной...

такова судьба почти всех фундаментальных исследований - хоть здесь они и приземленные, но вот если посмотреть отстраненно...

ну вот конкретно в Этом исследовании оно уже произведено и найден очередной "ключ" решающий скорее всего очень комплексный набор проблем - так что сейчас оно размажется на тысячи внедрений и конечная стоимость НИОКР относительно результата Будет копеечно-ничтожной...

Вы этого заранее знать не могли. Заранее было известно только что ожидается вернуть производительность рабочего пропорционально мощности рабочий/тестовый. И я все же повторю вопрос: Огласите, пожалуйста, размер затрат (хотя бы в часах работы, если нельзя суммы называть).

Приложим Лапоть к носу, подумав и прикинув - себестоимость в районе 190-250к в зависимости от числа привлеченных специалистов - реально скорее всего дешевле и сильно, т.к. устранение в процессе или ТО или контрактного ТС.... плюс собственные ресурсы итп + ROI по маркетингу + репутационные плюсы по доработке для других клиентов...

в общем конторе в её масштабе оно скорее всего ни стоило ни копейки(в смысле оклад и только), а сейчас приносит реальные плюсы...

UPD: отношения к упоминаемым в статье компаниям не имею.... всё на уровне прикладывания лаптя к носу, импульсивно-эмпирических измерений, и высокоточных прикидок на глазок(с моей то миопией)... +))))

Приблизительно 7 рабочих дней.

Расчет себестоимости - ключевая операция в 1С. Один из смыслов создания 1С и ее эксплуатации. Окупаемость считается по сумме ликвидации затрат на оплачиваемое время работников ожидающих результат.
Это эффективно использовать AVX.
И в связи с этим фактором времени, еще один мощный вклад может внести снесение всей виртуализированной среды. Это еще + 50%-75%-100%. Вообще на все операции системы.
Виртуальные машины ставят для одного - запуск снэпшота сервера при гипотетическом отказе, данные это может и не сохранит (или не все сохранит), но отводит ответственность. Никакой рациональной причины делить ресурсы на виртуальные машины - нет в 99.999 % организаций, холдингов, групп компаний.

Есть только средневековое ожидание "как бы чего не вышло, а то мало ли чо". Хоть оно и средневековое, тем не менее сисадмины категорически не дадут сносить ничего в пользу какой-то оптимизации. Без разницы, какая система резервирования или кластеризации. Они не зантересованы ни в чем подобном. Также как, например, и в обновлениях, идущим к системе. Та же причина. Совещания по этому поводу могут занять и 100 часов. Без всякого продвижения. Потому как и исполнителям по вопросу производительности спорить с ними незачем.

Кстати, на платформе 8.3.25.1560 в составе dll-ка vcruntime140.dl 14.16.27033.0 от 15.08.2019
В составе системы 14.38.33135.0, пришедшая с обновлениями в январе 2025.
Спасибо автору, очень полезное исследование.

Обращение полностью заполненной матрицы 4000х4000 (16 млн. элементов) на современных процессорах занимает в районе секунды или меньше. Конечно неизвестны все нюансы, но выглядит как пример чудовищно неэффективной реализации.

Скорее это болезни роста у 1с. Что вся эта система задумывалась для куда меньших объемов. Т.е. это попытка взять алгоритм и заставить его работать с количеством данных на порядки больше.

Если наши коэффициенты занимали примерно 60 МБ памяти, и на каждом шаге размер перемещаемого блока уменьшался на 8 байт,

Выглядит так, как будто из вектора коэффициентов удаляется первый элемент.

Может так оказаться, что где-то во внутренностях 1с элементы поштучно извлекаются из массива 10 часов, потом обрабатываются 5 минут и в конце ещё 5 часов складываются обратно.

Сначала 1С разделила информационную базу на 10 тысяч(!) таблиц. Столько джойнов в отчетах вы не встретите больше нигде. И более страшные, длинные и широки SQL-запросы также сложно где-либо еще увидеть.

Реляционный подход, доведенный до маразматического аболюта. Отдельные таблицы даже для данных из двух строк Да и Нет (утрирую, но лишь слегка). При этом законодатели дали методологию расчета себестоимости которая содержит массу всевозможных упрощений (например расчет по средней цене остатков итп), которые позволяют ее посчитать быстро в чем угодно, да хоть в Excel (причем быстрее, чем в 1С УПП/ERP). Монополия гипертрофирована и она должна быть разрушена. Или самовыпилится со временем.

нашли in the 1C ASS ?

Надеюсь сама логика СЛАУ у вас не самописная, а на MKL?

Расчет себестоимости в ЕРП использует методы платформы для расчета СЛАУ.

Релиз на котором наблюдалась проблема 8.3.23.191. Отмечу, что в релиз попала "кривая" версия vusual studio redistributed. А вот сам внутренний механизм расчета будет работать похожим образом. Версия библиотеки vcruntime40.dll не решает проблему в корне, а только ускоряет расчет.

Страшные сказки на ночь ))

Тупо Гаусс в однопотоке считает Слау 4000x4000 за 200 сек на самом слабом Xeone, mkl тоже делает за 3 сек

Просто вынесите решение слау во внешку и считайте на прикладном яп

  1. Сначала вы пишите, что на сервер клиента нельзя устанавливать сторонний софт, но при этом устанавливаете и запускаете свои приложения

  2. Сколько часов, которые вы потратили на расследование оплатил клиент, сколько оплатила вам компания, а сколько за свой счет. Я веду для себя список проблем для расследования, но никто оплачивать это не хочет, а свое свободное время ограничено.

  3. Проблема действительно нетривиальная, т.к. большинство админов забывают, что VCredist должны обновляться как и остальные компоненты. Но как можно было пропустить разные версии библиотеки у клиента и у вас - ума не приложу. Очень похоже на то, что вы просто не знали, что платформа использует общую библиотеку, а не из каталога приложения

В том-то засада, что платформа использует компоненту из своего каталога, а не общую. Каким образом у них на тестовом сервере платформа начала использовать общую версию вопрос. Хотя есть идея - если удалить из дистрибутива поставки платформы комплектный vc_redist.

  1. Запрещено устанавливать сторонний софт, но если он разработан на площадке заказчика, то можно.

  2. Приблизительно 7 дней.

  3. Ниже ответ от пользователя @yukon39.

Был бы интересен комментарий от разработчиков платформы... скажут что-то типо: "При разработке платформы мы ориентируемся на весь рынок, по этому наша платформа работает даже на Intel 80486 а всякие там расширенные наборы инструкций это всё излишества и ваши современные процессоры наша платформа не должна уметь нормально загружать... "

В части вопросов "Сколько потратили" - советую голову включить и подумать "сколько сэкономили" так как если б не разобрались то заказчик попал-бы на модернизацию железа со всеми вытекающими...

Если изменить внетренний механизм расчета, то ускорение расчета СЛАУ будет гораздо больше. Но тут думаю, что придется перепиывать механизмы управления паматью в структурах данных 1С (если это сделать, то многие другие механизмы будут работать значительно быстрее).

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории