Если вы читаете содержимое более 50 миллионов файлов, то, по определению, вы ограничены самым низким из этих трех вещей:
- Удаленный ввод / вывод (диск)
- пропускная способность сети;
- Местное время обработки (ЦП)
Если вы делаете один файл за раз, вы можете ускорить его, распараллелив алгоритм. Предполагая, что он оптимально распараллелен, вы будете ограничены одним из вышеперечисленных.
(1) можно решить только путем сканирования / чтения меньшего количества файлов. (2) можно решить только путем запуска на удаленном хосте или уменьшения количества файлов, которые необходимо сканировать. (3) можно решить только путем увеличения ЦП, распределения работы и / или выполнения в удаленной системе.
Уменьшение рабочей нагрузки может быть достигнуто за счет изменения алгоритма, изменения требований, результатов кэширования, где это уместно, или некоторой их комбинации.