私はC言語でプログラミングしています。通常、freadまたはシステムコールの読み取りを使用するファイルから大きなデータを読み取らなければならない場合があります。これは、ストリームI/OまたはシステムコールI/Oのいずれかを意味します。
このような大きなデータを読み取って、ブロックサイズを計算し、それに応じて読み取る場合、効率的に読み取るのに役立つかどうかを尋ねたいと思います。
システムコールの読み取りが遅くなる可能性があることや、ネットワークソケットを処理する必要がある場合は、ストリームベースのI / Oを使用する代わりにこれらを使用する必要があるなど、他の条件があることを知っています。最適化された結果が得られます。同様に、ファイルから大きなデータを読み取るためのヒントとコツ、および注意すべき点が必要です。
また、mmapがこれらの従来のI / Oよりも有利である可能性がある場合は、状況を詳しく説明してください。
プラットフォーム:Linux、gccコンパイラ