必要に応じてバイトを読み取るのではなく、ファイル全体を一度に読み取ることに利点/欠点はありますか? したがって、次の利点はありますか。
file_handle = open("somefile", rb)
file_contents = file_handle.read()
# do all the things using file_contents
に比べ:
file_handle = open("somefile", rb)
part1 = file_handle.read(10)
# do some stuff
part2 = file_handle.read(8)
# do some more stuff etc
背景: 私は Python で p-code (バイトコード) インタープリターを作成しています。最初は、必要に応じてファイルからバイトを読み取り、必要なアクションを実行する単純な実装を作成したところです。プログラムを見せていた友人は、代わりに、ファイル全体をメモリ (Python リスト?) に読み込み、メモリから処理して、多くの遅いディスク読み込みを回避します。テスト ファイルは現在 1KB 未満であり、おそらく最大で数 100KB になるため、オペレーティング システムとディスク コントローラ システムがファイルをキャッシュし、ファイルの小さなチャンクを繰り返し読み取ることによって引き起こされるパフォーマンスの問題を回避することを期待していました。