Я могу распараллелить процесс на несколько файлов
Разпараллеливание записи на несколько файлов
не имеет смысла для обычных десктопных дисков.
Это только в серверных системах хранения где RAID - такая оптимизация имела-бы смысл.
Чтоб оптимизировать запись (развязать ожидания рабочих потоков от потока записи) можно
создать кольцевой буфер записи и поручить его сброс отдельному потоку. Размер этого
кольца можно выбрать экспериментально. Я не очень понимаю зачем тебе нужен набор
буферов (больших и малых) это возможно часть алгоритма. Но я-бы избавился от ненужных
копирований внутри памяти если есть возможность.
Можно еще посмотреть какие возможности в Rust есть в части асинхронного I/O но я здесь не специалист
в расте насколько глубоко чтоб знать где это и как называется.