【发布时间】:2012-02-23 20:35:24
【问题描述】:
就在使用 MSVC++ input.getline() 读取一个非常大 (3GB) 的分隔文本文件之前,我想优化速度,增加输入缓冲区的大小:
ifstream input("in1.txt");
input.rdbuf()->pubsetbuf(NULL, 1024 * 1024);
但是在执行代码的时候,速度并没有提高,所以我想知道:
- 代码有什么问题?
- 缓冲是否适用于 ifstream.getline?
- 分配给 ifstream 的默认缓冲大小是多少?
问候。
【问题讨论】:
标签: c++ performance file-io ifstream