Итак, давайте прямо скажем: у вас есть надежные эмпирические данные, которые показывают, что вашим узким местом является файловая система, но вы не хотите менять свою файловую структуру? Посмотрите на закон Амдаля. Если открытие файлов занимает 90% времени, то без изменения этой части программы вы не сможете ускорить процесс более чем на 10%.
Посмотрите на диалоговое окно свойств для каталога, содержащего все эти файлы. Я полагаю, что значение «размер на диске» намного больше, чем общий размер файлов, из-за накладных расходов файловой системы (таких как метаданные на файл, которые, вероятно, очень избыточны, и файлы хранятся с целым числом 4к блоков).
Поскольку то, что у вас здесь есть, по сути, большая хеш-таблица, вы должны хранить ее в формате файла, который больше подходит для такого рода использования. В зависимости от того, нужно ли вам изменять эти файлы и будет ли набор данных помещаться в ОЗУ, вам следует использовать полнофункциональную базу данных, легковесную встраиваемую базу данных, такую как sqlite, формат сериализации хэш-таблицы / словаря вашего языка, 1005 * архив или программа хранения значений ключей, которая имеет хорошую поддержку постоянства.