LabVIEW で高速にストレージから読み込む

前回まででストレージへの書き込みが出来ましたので、今度は読み込みを行なってみます。

今回の成果

まずは今回の成果から、

対 RamDisk で 4464.98MB/sec

対 RAID で 599.93MB/sec

の読み込みが出来ました。

CrystalDisk mark で、RamDisk が Seq Read 4152MB/sec だったので、それを上回る転送レート。ほんとか?と言う気もしますが、よしとします。

今回のダイアグラム

基本的な構造は書き込みと同じですが、データの流れは逆流になります。

メインスレッドからワーカスレッドを起動し、ワーカからキューを経由して流れたデータをメインスレッドで取得します。

ワーカースレッドで EOF に達したらワーカースレッドがキューに長さ0 の配列を返すので、メイン側はそれを監視して終了を検知します。

特に苦労する点はありません。バイトオーダーだけは書き込みに合わせて little にしましょう。

メインスレッドclip_image001

ワーカースレッド(ファイル読み込み担当)clip_image002

最大転送レートclip_image003

まとめ

前回の書き込みと逆の事をすれば良いので、あえてまとめる事もありません。

では~。

次回は、転送レートを左右する「読み書きデータサイズ」です。

コメント