In Place要素ストラクチャを使用すると、LabVIEWコンパイラによる一般的な操作実行を従来のLabVIEWプログラミング方法よりも効率的に制御してメモリ効率とVI効率を向上させることができます。多くのLabVIEWの操作では、データ値をコピーしてメモリ内に保持する必要があるため、実行速度が下がり、メモリ使用量が増加します。

In Place要素ストラクチャは、境界ノード (In Place要素ストラクチャの境界に配置されたノード) を使用してデータ操作を実行します。境界ノードを移動または削除すると、ストラクチャの反対側にある対応するノードが自動的に移動または削除されます。

In Place要素ストラクチャは、従来のLabVIEWのプログラミング方法と比較して、一般的なLabVIEW操作をより効率的に実行することができます。

以下のブロックダイアグラムは、In Place要素ストラクチャを使用することにより、VIの実行効率とメモリ効率を向上できる例を示しています。

上記のブロックダイアグラムでは、32ビット符号なし整数の配列を指標付けし、配列の3番目の要素を増分して、配列の同じ位置でこの要素を入れ替えています。同じ配列で新規の値を入れ替えるには、「部分配列置換」関数の配列および指標入力に配列と配列指標の値を配線する必要があります。VIを実行すると、配列要素の新規コピーが作成され、そのコピーがメモリ内に保存されます。

以下のブロックダイアグラムで示すように、In Place要素ストラクチャを使用すると配列要素の余分なコピーの作成を回避することができます。

このブロックダイアグラムでは、In Place要素ストラクチャの配列指標/要素を置換境界ノードによって32ビット符号なし整数の配列を指標付けし、配列の3番目の要素を増分して、最初のブロックダイアグラムの例のように配列の同じ位置でこの要素を入れ替えます。ただし、この場合はメモリ内で要素の余分なコピーの作成や保存を行う必要はありません。

In Place要素ストラクチャでは、配列内の指標付けされた各配列要素を、ストラクチャの右側のノードで入れ替える必要があります。LabVIEWのコンパイラは、どの配列要素を入れ替える必要があるか認識しているため、メモリ内の配列要素の余分なコピーの作成や保存を行う必要がありません。