Статья появилась в результате другой статьи:
Пример подключения 1С:Предприятие 8.2 к .Net Framework 4. В предыдущем примере
была попытка задействовать многопоточность для отправки E-mail сообщений. Предыдущий
пример дал убыстрение всего на 5-10%. В связи с этим появились сомнения – насколько
реально пользоваться многопоточностью в 1С:Предприятие 8.2.
Данный пример-обработка для 1С:Предприятие 8.2 был создан, чтобы ответить на вопросы:
- Допустима ли многопоточность в 1С:Предприятие 8.2?
- Какой выигрыш дает применение многопоточности в 1С:Предприятие 8.2?
Пример перебирает все реквизиты всех справочников в конфигурации и выводит в обработку
только те реквизиты, первая буква названия которого меньше или равна «П». Чтобы
нагрузка была больше, делает это в цикле 30 раз.
Запуск в 2х режимах привел к следующим результатам.
Последовательный подход (загрузка ЦП до 27 %):
- Попытка 1: 50 секунд
- Попытка 2: 50 секунд
- Попытка 3: 50 секунд
Параллельный подход (загрузка ЦП до 52%):
- Попытка 1: 37 секунд
- Попытка 2: 38 секунд
- Попытка 3: 37 секунд
Выводы, полученные в опыте, вдохновляют. 1С:Предприятие 8.2 на первый взгляд поддерживает
многопоточность, т.е. приложение «не валится», при обращении из нескольких процессов.
Использование многопоточности приводит к увеличению скорости на (50-37)/50 = 0,25
или на 25 процентов. Конечно, этот показатель будет зависеть от задачи и может отличаться
в сторону увеличения или уменьшения.
Многопоточность82.epf (9.85 kb)