labview for loop array幾個小概念

請問以下三個小程式哪一個程式運作速度最快呢?

請問以下三個小程式哪一個程式運作速度最快呢?
請問以下三個小程式哪一個程式運作速度最快呢?

答案揭曉:第一個程式36 ms ,第二個程式150 ms ,第三個程式172 ms 。
蝦米,怎麼會這樣,為何第二個程式與第一個程式運算時間為何會差異這麼多啊
其實原因與labveiw的運作模式有關

1.第三個表示labview會自行變成多核心平行運作,這點不重要

2.第一與第二的程式可以看出labview最大的問題,矩陣大小變化的時候會消耗很多的時間(雖然不到0.1m)與記憶體空間,但是累積很多之後,就會看到之間的差異了。
而對於FOR LOOP而言,因為知道運作的次數,因此系統會自動產生固定的矩陣出來,所以不用變更矩陣的大小。因此速度可以快很多。(第一個程式)。
而第二個程式,每一個迴圈都改變一次矩陣的大小,因此消耗很多的時間與記憶體空間。

***不要頻繁的改變矩陣的大小,對於系統而言,會消耗時間與記憶體。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *