最近在做毕设最后一点优化工作收尾,对于程序优化仍是一个很虚无缥缈的概念和过程。参考了相关书籍,记录如下:
从增加程序运行速度和效率的角度:
1、执行处禁止VI调试可以大大提高VI运行速度,降低内存利用。
2、根据实际需要选择短数据类型,节约空间,提高效率。注意溢出即可。
3、循环中加入几十至几百毫秒的延时,避免作无谓的运算。
4、文件的读写放在循环外。
5、涉及界面刷新的相关属性节点放在循环外。
6、局部变量、全局变量的读写放在循环外。
7、利用等待用户反馈的时间做下一步工作。
进一步从内存的角度:
1、把复杂VI分解为数个子VI。
2、没必要时不要设置子VI的可重入性,避免生成副本增加开销。
3、避免在子VI中使用子VI前面板控件的属性节点。
4、打开句柄后要关闭,避免内存泄露。
5、缓存重用技术:如果可能,用变量代替常量;使用移位寄存器/元素同址操作操作等;子VI连接板实现变量效果实现缓存重用
6、输入输出参数排布,最左边和最右边,尽量循环外。
7、优化数据流结构,分支看能不能进行直连实现重用。
LabVIEW软件可以查看各个VI的内存信息,可以作为优化的参考。但作为一入门者,我还是先把功能做好,而不是一味的追求低内才能消耗而作大改。