大きなファイル (RAM より大きく、一度に全体を読み取ることができない) があり、行ごとに (C++ で) 処理する必要があります。できれば Intel TBBまたは Microsoft PPLを使用して、複数のコアを利用したいと考えています。このファイルの前処理 (4 つの部分に分割するなど) は避けたいと思います。
ファイル内の (0, n/4, 2*n/4 3*n/4) 位置に初期化された 4 つのイテレータを使用するようなことを考えていました。
それは良い解決策ですか、それを達成する簡単な方法はありますか?
または、ストリームの効率的な同時読み取りをサポートするいくつかのライブラリを知っていますか?
更新:
私はテストをしました。ボトルネックは IO ではなく、CPU です。そして、バッファ用のRAMがたくさんあります。
レコードを解析する必要があります (var サイズ、それぞれ約 2000 バイト、レコードは一意の '\0' 文字で区切られています)、検証し、計算を行い、結果を別のファイルに書き込む必要があります