Я думаю, что вы в значительной степени ударили гвоздь по голове здесь.
Параллельные операции в целом всегда ограничиваются точкой, в которой у вас заканчиваются ресурсы для параллельного выполнения операций, но даже в этом случае вы все равно получаете убывающую отдачу от растущего количества параллельных потоков.
Джефф Этвуд написал в Твиттере интересный график, который я добавлю к этому позже, показывая уменьшающуюся отдачу от многоядерных процессоров с многопоточным окружением. Конечно, это не совсем то же самое. Но давайте посмотрим на это с мыслью, что даже если у вас есть 100 файлов на 100 жестких дисках, то где-то, что ввод-вывод возвращается вниз по одному каналу, что приведет к некоторому уменьшению увеличения чтения.
То, что я в основном пытаюсь сказать, - это просто запустить что-то параллельно, это не значит, что оно будет значительно ускорено, важно рассмотреть, как на самом деле выполняются параллельные процессы.