对于内置全局变量和FUNCTION GLOBAL(LV2
GLOBAL)的性能LV相关书籍中的介绍各不相同,甚至是矛盾的,关于数据竞争的问题就不讨论了,FUNCTION
GLOBAL有明显的优势,今天主要看看它的运行速度问题,我在以前的文章中提到过读写GOBAL需要内存拷贝的问题,频繁调用内存管理器肯定要影响它的速度,而FUNCTION
GLOBAL虽然不存在内存复制的问题,但是它需要反复调用SUBVI,一定程度上会影响它的速度。
首先看内置GLOBAL的SHIFT REGISTER的性能比较。


可以看出SHIFT REGISTER的运行速度远高于全局变量,这是可以理解的,毕竟SHIFT
REGISTER是LV的核心,它的运行肯定是高效率的。

可以看出对一个简单地标量,GLOBAL的速度还是快于FUNCTION GLOBAL的,不过是在一个数量级别上。



本次实验的数据类型是簇,内部包含两个元素,2个数组长度为100的数组
从上面的实验结果可以得出结论,当数据结构非常复杂时,FUNCTION
GLOBAL的效率要高于内置全局变量,原因是内存复制的开销已经高于SUBVI调用的开销