小编Boc*_*ena的帖子

何时为I/O(C++)构建自己的缓冲系统?

我必须处理非常大的文本文件(2 GB),必须逐行读/写它们.使用ofstream编写2300万行非常慢,所以在开始时,我试图加快在内存缓冲区(例如256 MB或512 MB)中写入大块行的过程,然后将缓冲区写入文件.这不起作用,性能或多或少相同.我在阅读文件时遇到同样的问题.我知道I/O操作是由STL I/O系统缓冲的,这也取决于磁盘调度程序策略(由操作系统管理,在我的情况下是Linux).

有关如何提高性能的任何想法?

PS:我一直在考虑使用后台子进程(或线程)来读取/写入数据块,而程序正在处理数据,但我不知道(主要是在子进程的情况下)这是否值得.

c++ linux io performance buffer

6
推荐指数
3
解决办法
4263
查看次数

标签 统计

buffer ×1

c++ ×1

io ×1

linux ×1

performance ×1