配列連結追加を使用すると速度が落ちる

更新しました May 26, 2021

使用製品

ソフトウェア

  • LabVIEW

問題

配列連結追加の関数を使用しているとプログラムの実行速度が遅くなります。どのようにすれば改善されますか?

解決策

配列連結追加は、入力と出力で配列のサイズを変化させるため、メモリの再配置が起こりやすい関数となっているため実行速度に影響が出ます。
ただし、連結の仕方によっては速度を大幅に改善できる可能性があります。

例えば、連結の際には新しい要素が後に追加されるように組むことで、新しい要素が配列の先頭に来るような連結の方法を行う場合に比べて速度を大幅に向上できる可能性があります。
もし新しい要素を先頭にしたい場合には、配列連結追加を使用した後に1D配列反転の関数を使用します。

例えば以下のブロックダイアグラムで示した二つの配列表示器はどちらも同じ結果となりますが、速度に大きく差が出るという結果が得られます。
arrayperformance.png
 

追加情報

配列連結追加を多用すると配列のサイズが簡単に大きくなる可能性があるため、メモリ不足が起こりやすくなるので注意する必要があります。