Вышло обновление «Менеджера потоков 2.1», фреймворка для оптимизации выполнения длительных операций за счет перевода алгоритма на обработку в потоках.
Подробнее о программе
Решение предназначено для работы в клиент-серверном режиме. Представляет собой подсистему для встраивания в любую конфигурацию 1С на платформе 1С:Предприятие 8.3. Предоставляет разработчику инструменты для выполнения алгоритмов в несколько потоков.
Результаты оптимизации восстановления партий в УПП с помощью «Менеджера потоков»
Помимо простого распараллеливания обработки данных, «Менеджер потоков» позволяет реализовать сложную последовательность обработки связанных объектов (текущий объект не обрабатывается, пока не будут обработаны все объекты, от которых он зависит). К таким задачам можно отнести «Восстановление последовательности партий», «Восстановление взаиморасчетов» и т.д. Возможность построения связей объектов с помощью графа зависимостей является уникальной, позволяя решить проблемы блокировок и коллизий объектов с учетом их последующей «сборки» для получения результата.
Алгоритм построения графа зависимостей и остальные параметры обработки объектов в потоках описываются разработчиком с помощью определенной структуры методов общего модуля, создаваемого в соответствии с шаблоном – эти методы реализуют механизм событий для взаимодействия с «Менеджером потоков».
Новое в версии 2.1
В рамках данного обновления проведена огромная работа по оптимизации работы с графом. Теперь «Менеджер потоков» может работать с графом практически неограниченного размера. Помимо построения графа в памяти, появилась возможность выгрузить его в программы визуализации и анализа (в частности, в Gephi), чтобы проанализировать работу алгоритма до его запуска на рабочей системе.
Результат визуализации графа зависимостей объектов для задачи определения связи по делителям от 4 до 9 (построено с помощью Gephi)
Полностью переписан и оптимизирован код решения, что позволило увеличить скорость обработки зависимых объектов на 15-25%, в ряде случаев до 50%;
Переделаны тестовые примеры (теперь это не нагромождение кода, а четко разделенный код для каждого примера), показывающие основные возможности работы «Менеджера потоков». Предоставлено детальное руководство пользователя.
Решение «УПП: "Восстановление партий"» также адаптировано под «Менеджер потоков 2.1», что позволило значительно увеличить его производительность.