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

首先看内置GLOBAL的SHIFT REGISTER的性能比较。
Picture
Picture
可以看出SHIFT REGISTER的运行速度远高于全局变量,这是可以理解的,毕竟SHIFT REGISTER是LV的核心,它的运行肯定是高效率的。
Picture
可以看出对一个简单地标量,GLOBAL的速度还是快于FUNCTION GLOBAL的,不过是在一个数量级别上。
Picture
Picture
Picture
本次实验的数据类型是簇,内部包含两个元素,2个数组长度为100的数组
从上面的实验结果可以得出结论,当数据结构非常复杂时,FUNCTION GLOBAL的效率要高于内置全局变量,原因是内存复制的开销已经高于SUBVI调用的开销



Leave a Reply.