ディスクストリーミングを使用してメモリを節約する
- 更新日2026-05-26
- 2分で読める
ディスクストリーミングとは、開いているファイルのループ内で複数の読み取りまたは書き込み操作を実行することを意味します。ディスクストリーミングを使用することで、関数がファイルを開いたり閉じたりする際にオペレーティングシステムと対話する回数が減り、メモリリソースが節約できます。
「テキストファイルに書き込む」関数や「バイナリファイルから読み取る」関数など、ファイルの読み書きを行う関数やVIにパス制御器や定数を配線しないでください。そうすることで、関数またはVIが実行されるたびにファイルを開いたり閉じたりするオーバーヘッドが追加されます。このオーバーヘッドをなくすには、その代わりに、ディスクストリーミング操作を実装します。
ディスクストリーミングは以下の状況で使用します。
- 実行速度が重要な、大量のデータ収集に最適です。データストリーミングは、このような状況に最適です。
- 集録の実行中にデータをファイルに連続的に書き込むには、ディスクストリーミングを使用します。
ヒント 最適な結果を得るには、集録が完了するまで、解析VIや解析関数などの他のVIや関数を実行しないでください。
- 以下のブロックダイアグラムのように、ループの外側に「ファイルを開く/作成/置換」関数と「ファイルを閉じる」関数を配置します。
- ブロックダイアグラムにWhileループを配置し、ループ内に「テキストファイルに書き込む」関数を配置します。
- ループの後に「ファイルを閉じる」関数を配置し、関数を配線します。
このディスクストリーミングデザインパターンでは、VIは、ループ内で反復ごとにファイルを開閉するオーバーヘッドなしで、連続的にファイルに書き込みます。