Полагаю, мой вопрос частично проистекает из этого вопроса: std :: ifstream буферное кеширование. У меня есть архив с расширенной сериализацией, и в настоящее время я читаю его с помощью оператора &
, как предложеноПомогите.Насколько я понимаю, это переводится как <<
и >>
для операций ввода и вывода.Теперь, судя по приведенному выше вопросу, эти операторы вместе с fstream
не дают оптимальной производительности.
Мне нужно только прочитать несколько объектов по 100 тыс. И последовательно поработать с ними, а затем удалить их.Прямо сейчас я буквально делаю
- Прочитать один объект 2. Обработать его 3. Удалить его 4. Повторить.
Мне интересно, стоит ли изменить это значение на
- Считать все объекты в очередь 2. Обработать очередь 3. Удалить все
или я должен реализовать какой-нибудь буфер для файла и сначала прочитать двоичный файл в буфер?
Или, может быть, запустить второй поток и сделать так, чтобы второй поток прочитал файл с передачей некоторого потока?
И частично повторяя вышеупомянутый вопрос, но есть ли у кого-то больше опыта, пытаясь оптимизировать буфер fstream, или, может быть, даже рабочий пример?
Спасибо