Если задачи A и B независимы и выполняются последовательно (A→B за 10+10=20 мин), то параллельное выполнение (A||B) сократит время до max(10,10) = 10 мин.
Как это работает
Как понять, что нужна эта оптимизация
- Задачи выполняются строго последовательно, хотя могли бы параллельно
- Один этап задерживает другой, хотя они независимы
- Время цикла значительно больше суммы времени задач
Когда применять
- Задачи не имеют зависимостей по данным
- Есть несколько ресурсов для параллельного выполнения
- Время критичного пути можно сократить
Когда НЕ применять
- Задачи имеют строгую последовательность
- Нет ресурсов для параллельной работы
- Синхронизация сложнее последовательного выполнения
Порядок применения
1
Убедитесь в независимости
Убедитесь в отсутствии зависимостей между задачами
2
Перестройте схему
Перестройте схему процесса
3
Обеспечьте доступ к данным
Для параллельных задач
4
Настройте синхронизацию
Синхронизация результатов
5
Протестируйте на пилоте
Протестируйте на пилотном проекте
История из жизни
Кейс: Одобрение кредита
Проверка документов, скоринг и звонок клиенту шли последовательно (3 часа). После анализа запустили всё параллельно — время сократилось до 1 часа. Конверсия выросла на 15%.
