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