LINUX.ORG.RU

История изменений

Исправление Iron_Bug, (текущая версия) :

Можно подумать, std::vector всегда используют так, что случаются реаллокации.

ну, выдели 2 гига памяти (плюс накладные расходы на сам вектор) под него разом - не нужны будут аллокации. вообще, при обработке больших данных динамика полезна, в большинстве случаев.

Твой опыт в С++ мало чего стоит, если сравниваешь fread с потоками.

думаю, у меня более чем достаточно опыта. и мой опыт практический. у меня нет возможности жировать и разбрасываться ресурсами. я всегда выжимаю из железа всё, что оно может. так что я знаю, что говорю. ни одна реализация в плюсах не быстрее связки fopen+fread. можно играться с мапами, но там тоже свои особенности. где-то тут на ЛОРе буквально вчера обсуждался вопрос про мапирование и подводные камни, с ним связанные.
измерения проведи сам. это тебе домашняя работа. у меня более серьёзных задач достаточно. да, ещё не забудь про open/read. они простые, но шустрые.

Исходная версия Iron_Bug, :

Можно подумать, std::vector всегда используют так, что случаются реаллокации.

ну, выдели 2 гига памяти (плюс накладные расходы на сам вектор) под него разом - не нужны будут аллокации. вообще, при обработке больших данных динамика полезна, в большинстве случаев.

Твой опыт в С++ мало чего стоит, если сравниваешь fread с потоками.

думаю, у меня более чем достаточно опыта. и мой опыт практический. у меня нет возможности жировать и разбрасываться ресурсами. я всегда выжимаю из железа всё, что оно может. так что я знаю, что говорю. ни одна реализация в плюсах не быстрее связки fopen+fread. можно играться с мапами, но там тоже свои особенности. где-то тут на ЛОРе буквально вчера обсуждался вопрос про мапирование и подводные камни, с ним связанные.
измерения проведи сам. это тебе домашняя работа. у меня более серьёзных задач достаточно.