LabVIEW程序优化相关技巧
2015-06-06 19:51
302 查看
最近在做毕设最后一点优化工作收尾,对于程序优化仍是一个很虚无缥缈的概念和过程。参考了相关书籍,记录如下:
从增加程序运行速度和效率的角度:
1、执行处禁止VI调试可以大大提高VI运行速度,降低内存利用。
2、根据实际需要选择短数据类型,节约空间,提高效率。注意溢出即可。
3、循环中加入几十至几百毫秒的延时,避免作无谓的运算。
4、文件的读写放在循环外。
5、涉及界面刷新的相关属性节点放在循环外。
6、局部变量、全局变量的读写放在循环外。
7、利用等待用户反馈的时间做下一步工作。
进一步从内存的角度:
1、把复杂VI分解为数个子VI。
2、没必要时不要设置子VI的可重入性,避免生成副本增加开销。
3、避免在子VI中使用子VI前面板控件的属性节点。
4、打开句柄后要关闭,避免内存泄露。
5、缓存重用技术:如果可能,用变量代替常量;使用移位寄存器/元素同址操作操作等;子VI连接板实现变量效果实现缓存重用
6、输入输出参数排布,最左边和最右边,尽量循环外。
7、优化数据流结构,分支看能不能进行直连实现重用。
LabVIEW软件可以查看各个VI的内存信息,可以作为优化的参考。但作为一入门者,我还是先把功能做好,而不是一味的追求低内才能消耗而作大改。
从增加程序运行速度和效率的角度:
1、执行处禁止VI调试可以大大提高VI运行速度,降低内存利用。
2、根据实际需要选择短数据类型,节约空间,提高效率。注意溢出即可。
3、循环中加入几十至几百毫秒的延时,避免作无谓的运算。
4、文件的读写放在循环外。
5、涉及界面刷新的相关属性节点放在循环外。
6、局部变量、全局变量的读写放在循环外。
7、利用等待用户反馈的时间做下一步工作。
进一步从内存的角度:
1、把复杂VI分解为数个子VI。
2、没必要时不要设置子VI的可重入性,避免生成副本增加开销。
3、避免在子VI中使用子VI前面板控件的属性节点。
4、打开句柄后要关闭,避免内存泄露。
5、缓存重用技术:如果可能,用变量代替常量;使用移位寄存器/元素同址操作操作等;子VI连接板实现变量效果实现缓存重用
6、输入输出参数排布,最左边和最右边,尽量循环外。
7、优化数据流结构,分支看能不能进行直连实现重用。
LabVIEW软件可以查看各个VI的内存信息,可以作为优化的参考。但作为一入门者,我还是先把功能做好,而不是一味的追求低内才能消耗而作大改。
相关文章推荐
- 我的学习笔记_Windows_HOOK计划 2009-12-03 11:19
- Msyql-检测数据库版本
- 传奇代码研究 极品机率...
- Neutron - mtu值太大导致虚拟机无法上百度
- 教你从redhat官网获取ISO镜像
- 枚举(一)
- 关于 Activity 中 must implement OnFragmentInteractionListener 的问题
- 老生常谈-01背包
- Hadoop1.2.1 HDFS原理
- 基于Bootstrap+jQuery.validate Form表单验证实践
- BloomFilter——大规模数据处理利器(爬虫判重)
- phantomjs的局限性
- BloomFilter——大规模数据处理利器(爬虫判重)
- ACM练习 反素数
- /bin/bash^M: bad interpreter: No such file or directory
- PAT复杂度_最大子列和问题、最大子列和变种
- delphi之完美Splash方案
- bzoj 3209 数位DP+欧拉定理
- VTR-to-Bitstream 1 General Recognition
- JSON-RPC轻量级远程调用协议介绍及使用