Почему параллельное I/O медленнее? Выяснил, что нежелательно иметь более 1-го потока для Дискового i/o, не сетевого, а именно дискового. Вот, кстати, один из примеров: Почему параллельный Promise.all() на порядок медленнее, чем последовательные await'ы?.
Погуглил - так и не нашёл развёрнутого ответа.
Хотя и есть некоторые предположение почему это так работает, хотелось бы услышать авторитетное мнение или увидеть какую-нибудь ссылку.

27 Авг 2020 в 19:47
209 +1
0
Ответы
1

Существует несколько причин, почему параллельное I/O может быть медленнее, чем последовательное.

Конкуренция за ресурсы: При параллельном выполнении нескольких операций I/O может возникнуть конфликт за доступ к общим ресурсам, таким как диск или сеть. Это может привести к задержкам из-за ожидания доступа к ресурсам другими потоками.

Контекстное переключение: Переключение контекста между потоками также требует времени и ресурсов процессора. Если задачи I/O часто переключаются между потоками, это может привести к дополнительным накладным расходам на обработку контекстного переключения.

Ограничения на скорость диска: Дисковые операции могут быть ограничены скоростью самого диска или интерфейса, поэтому параллельное выполнение не всегда может привести к увеличению производительности.

В случае с Promise.all() и await, параллельное выполнение Promise.all() может быть медленнее из-за того, что каждый промис в массиве запускается одновременно, что может привести к конфликтам за ресурсы и увеличению накладных расходов на контекстное переключение. С использованием await каждый промис запускается после завершения предыдущего, что может быть эффективнее для операций I/O.

Надеюсь, это дало вам более ясное представление о причинах медленной работы параллельного I/O. Возможно, стоит провести тесты производительности в конкретной ситуации, чтобы лучше понять, почему параллельное I/O медленнее в вашем случае.

18 Апр в 10:37
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Название заказа не должно быть пустым
Введите email
Бесплатные доработки
Гарантированные бесплатные доработки
Быстрое выполнение
Быстрое выполнение от 2 часов
Проверка работы
Проверка работы на плагиат
Интересные статьи из справочника
Поможем написать учебную работу
Название заказа не должно быть пустым
Введите email
Доверьте свою работу экспертам
Разместите заказ
Наша система отправит ваш заказ на оценку 92 493 авторам
Первые отклики появятся уже в течение 10 минут
Прямой эфир