各行が単一のデータであるデータを含むファイル (10-20MB) があります。
ファイルシステムからファイルを読み取るCプログラムがあり、コマンドライン入力に基づいて、ファイルの各行を読み取り、各行で計算を行って、その行を返す必要があるかどうかを判断し、サブセットを返しますデータ。
プログラムが fread を実行し、最初にファイル全体をメモリに読み込み、メモリから直接解析するとします。
ファイルシステムから読み取る代わりに、次のような配列を作成してデータをプログラムに直接コンパイルした場合、プログラムの実行速度は速くなりますか?
char *dataArray[] = {"data1", "data2", "data3"....};
OS はファイル システムからバイナリ全体を読み取る必要があるため、私の直感では、ファイル システムからの読み取りが上位ビットになるため、両方の手法の実行時間は似ています。しかし、これについてもっと決定的なアイデアを持っている人はいますか?