Вещи, о которых вы должны подумать:
Если обработка каждого файла проста, то реальным узким местом является не количество параллельных файлов, которые вы читаете, а возможности жесткого диска.
Если обработка не занимает много времени (скажем, несколько секунд на файл), вы пройдете точку, в которой добавление большего количества процессов только замедлит процессы сканирования, так как каждый процесс читает и записывает результаты, а диск могу только так много сделать.
Попробуйте свести к минимуму доступ к диску: например, загружать файлы и производить результаты локально, пока загружаются другие процессы, и отправлять результаты обратно, когда нагрузка на диск снижается.
Чем больше я пишу, тем больше это сводится к тому, сколько обработки нужно сделать для каждого файла. Если это простой синтаксический анализ, то то, что занимает миллисекунды, 1 машина или 30, не будет иметь большого значения.