labview“局部变量”和“属性节点:值”用哪个好?
时间:10-02
整理:3721RD
点击:
在编程过程中经常会使用到“局部变量”和“属性节点:值”,且不说竞争问题,那在什么情况下用哪个更好呢?
我只是知道“局部变量”执行效率高,但占用内存多,“属性节点:值”带错误处理,可以更好的引导数据流,但执行效率较低。
那还有什么更多的区别吗?在什么情况下用哪个更好呢?请各位高手请教
我只是知道“局部变量”执行效率高,但占用内存多,“属性节点:值”带错误处理,可以更好的引导数据流,但执行效率较低。
那还有什么更多的区别吗?在什么情况下用哪个更好呢?请各位高手请教
在LabVIEW开发者论坛西安站, NI的研发工程师讲了他们的区别, 两个都不推荐使用
两种都需要memory allocation, 导致执行效率过低, 尤其是property node - value, 因为它还引入了UI thread.
极力推荐functional global或queue
刚才还在想为什么property node会效率低一些,现在恍然,原来是因为后面板进程和ui进程进行交互的结果,以前知道这个事情,不过比较模糊,所以忘了~
另,如果是简单的数据类型,把它们包在queue或者lv2中,这个感觉有点大炮打蚊子了~这些就直接local variable吧~
以前很极端,任何vi不适用local或者global variable,事实证明,没这个必要,可能会提高一点执行效率,但感觉还是直接local来的方便,直接creat之后就用了~
functional global或queue