labview的深入探索之全局變量、移位寄存器和LV2全局變量比較
對(duì)于內(nèi)置全局變量和FUNCTION GLOBAL(LV2 GLOBAL)的性能LV相關(guān)書籍中的介紹各不相同,甚至是矛盾的,關(guān)于數(shù)據(jù)競(jìng)爭(zhēng)的問題就不討論了,F(xiàn)UNCTION GLOBAL有明顯的優(yōu)勢(shì),今天主要看看它的運(yùn)行速度問題,我在以前的文章中提到過讀寫GOBAL需要內(nèi)存拷貝的問題,頻繁調(diào)用內(nèi)存管理器肯定要影響它的速度,而FUNCTION GLOBAL雖然不存在內(nèi)存復(fù)制的問題,但是它需要反復(fù)調(diào)用SUBVI,一定程度上會(huì)影響它的速度。
首先看內(nèi)置GLOBAL的SHIFT REGISTER的性能比較。
可以看出SHIFT REGISTER的運(yùn)行速度遠(yuǎn)高于全局變量,這是可以理解的,畢竟SHIFT REGISTER是LV的核心,它的運(yùn)行肯定是高效率的。
可以看出對(duì)一個(gè)簡(jiǎn)單地標(biāo)量,GLOBAL的速度還是快于FUNCTION GLOBAL的,不過是在一個(gè)數(shù)量級(jí)別上。
本次實(shí)驗(yàn)的數(shù)據(jù)類型是簇,內(nèi)部包含兩個(gè)元素,2個(gè)數(shù)組長(zhǎng)度為100的數(shù)組
從上面的實(shí)驗(yàn)結(jié)果可以得出結(jié)論,當(dāng)數(shù)據(jù)結(jié)構(gòu)非常復(fù)雜時(shí),F(xiàn)UNCTION GLOBAL的效率要高于內(nèi)置全局變量,原因是內(nèi)存復(fù)制的開銷已經(jīng)高于SUBVI調(diào)用的開銷