大量のデータをファイルに書き込むことに関しては、私はまったく得意ではありません。私はそのような構造を持つシミュレーションを持っています
typedef struct
{
int age;
float height;
float weight;
int friends [ 250000 ];
} Person;
そして、私は25万人もの人を抱えることができ、それぞれ250000人の友人(派閥)がいます。明らかに、これは大量のデータです。後でロードできるように各構造体を保存したい場合、Cで最も効率的な方法は何ですか?これが私がこれまで考えてきたことです
write
250,000グループのデータを含む巨大な文字列を作成してから、大量のメモリを使用するため、単一のデータを作成したくありません。- また、250,000の異なるファイルを作成するのは遅いかもしれないので、作成したくありません。
- インデックスに基づいてファイルを追加します(つまり、人物1、次に人物2 ...)が、これも遅い場合があります。
- データをバイナリとして保存する(これはより効率的ですか?)
編集私は使用するための効率的なアプローチを探していますfwrite ()
。つまり、すべてのデータを収集して単一のファイルに書き込む方が速いか、複数のファイルを作成してすべてのデータを事前に収集するオーバーヘッドを回避するかどうかです。