У меня большой файл (больше, чем ОЗУ, я не могу читать целиком за один раз), и мне нужно обрабатывать его строка за строкой (в c ++).Я хочу использовать несколько ядер, желательно с Intel TBB или Microsoft PPL .Я бы предпочел избежать предварительной обработки этого файла (например, разбить его на 4 части и т. Д.).
Я думал о чем-то вроде использования 4 итераторов, инициализированных (0, n / 4, 2 * n / 4 3 * n / 4) позиций в файле и т. Д.
Это так?хорошее решение и есть ли простой способ достижения этого?
Или, может быть, вы знаете некоторые библиотеки, которые поддерживают эффективное одновременное чтение потоков?
обновление :
Я делал тесты.IO не является узким местом, процессор есть.И у меня много оперативной памяти для буферов.
Мне нужно проанализировать запись (размер переменной, около 2000 байт каждая, записи разделены уникальным символом '\ 0'), проверить его, выполнить некоторые вычисления и записать результат в другой файл (ы)