私がこれを行うとします(不自然な例):
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char* argv[])
{
ifstream ifs(argv[1]);
char ch;
while(ifs.read(&ch, 1)) {
cout << ch;
}
}
私は、iostream ライブラリがここで何らかの内部バッファリングを行い、これを OS レベルで無数の 1 バイトのファイル読み取り操作に変えないことを期待しています。
次の方法はありますか?
a) ifstream の内部バッファのサイズを調べていますか?
b) ifstream の内部バッファのサイズを変更しますか?
数ギガバイトのファイルを小さなチャンクで読み取る必要があるファイル フィルターを作成しています。パフォーマンスに影響するかどうかを確認するために、さまざまなバッファー サイズを試してみたいと思います。