提升LabVIEW程序性能——优化内存管理学习教案.pptx

上传人:一*** 文档编号:71948410 上传时间:2023-02-07 格式:PPTX 页数:27 大小:784.97KB
返回 下载 相关 举报
提升LabVIEW程序性能——优化内存管理学习教案.pptx_第1页
第1页 / 共27页
提升LabVIEW程序性能——优化内存管理学习教案.pptx_第2页
第2页 / 共27页
点击查看更多>>
资源描述

《提升LabVIEW程序性能——优化内存管理学习教案.pptx》由会员分享,可在线阅读,更多相关《提升LabVIEW程序性能——优化内存管理学习教案.pptx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、提升提升LabVIEW程序程序(chngx)性能性能优化优化内存管理内存管理第一页,共27页。内容提要(ni rn t yo)为什么要优化LabVIEW程序内存管理LabVIEW中监测VI内存占用和运行时间(shjin)的工具优化LabVIEW程序内存管理基础篇高级篇第1页/共27页第二页,共27页。为什么要优化LabVIEW程序(chngx)内存管理LabVIEW的自动管理内存特性方便用户开发,满足一般应用需求LabVIEW应用程序趋向大型化,复杂化项目规模大,需求复杂数据处理量大,性能要求高好的编程风格帮助(bngzh)LabVIEW优化内存管理可以显著提高程序运行效率需要了解LabVIE

2、W的内存分配机制第2页/共27页第三页,共27页。监测VI内存占用和运行时间(shjin)的工具帮助定位和分析程序中的瓶颈(pn jn)部分工具工具性能性能(xngnng)分析分析性能性能(xngnng)和内存和内存第3页/共27页第四页,共27页。显示VI内存(ni cn)分配情况的工具帮助分析程序中各个数据变量的内存帮助分析程序中各个数据变量的内存(ni cn)(ni cn)拷贝情况拷贝情况目标:消除黑点目标:消除黑点工具工具性能分析性能分析(fnx)显示缓显示缓存区分配存区分配第4页/共27页第五页,共27页。演示:监测演示:监测演示:监测演示:监测VIVI内存占用内存占用内存占用内存占

3、用(zhn yn)(zhn yn)和运行时间和运行时间和运行时间和运行时间的工具的工具的工具的工具第5页/共27页第六页,共27页。优化 LabVIEW程序(chngx)内存管理基础篇避免强制类型转换防止内存泄漏合理(hl)分配数组内存合理(hl)使用全局变量第6页/共27页第七页,共27页。1 数据(shj)类型转换强制点表明连接(linji)了两种不同的数据类型LabVIEW中类型强制转换需要数据备份涉及大数组的类型强制转换会占用大量内存第7页/共27页第八页,共27页。推荐(tujin)的类型转换方式更好的解决方式是在随机数创建时进行(jnxng)转换避免转换大块数据缓存(14.3 KB

4、)(22.7 KB)第8页/共27页第九页,共27页。2 防止(fngzh)内存泄漏通常发生在文件操作或动态调用(dioyng)VI中注意关闭已打开的引用第9页/共27页第十页,共27页。3 合理(hl)分配数组内存过多进行内存重新分配占用很大开销过多进行内存重新分配占用很大开销慎用可能导致内存重新分配的相关函数慎用可能导致内存重新分配的相关函数创建创建(chungjin)(chungjin)数组数组连接字符串连接字符串第10页/共27页第十一页,共27页。演示演示演示演示(ynsh)(ynsh):LabVIEW LabVIEW 数组分数组分数组分数组分配配配配第11页/共27页第十二页,共2

5、7页。4 合理(hl)使用全局变量增加程序(chngx)可读性减少程序(chngx)框图中的连线带来额外的内存开销全局变量需要数据备份避免对大数据变量使用全局变量例如大数组,图像,信号等等做到程序(chngx)可读性和执行效率之间的平衡第12页/共27页第十三页,共27页。演示演示(ynsh):全局变量的内存分配:全局变量的内存分配第13页/共27页第十四页,共27页。优化 LabVIEW程序内存管理(gunl)高级篇利用移位寄存器shift register灵活(ln hu)使用LabVIEW自带的VI使用元素同址操作结构In Place Element Structure合理配置调用函数库

6、节点Call Library Node第14页/共27页第十五页,共27页。1 Shift Register1 Shift Register Jeff Kodosky Jeff Kodosky的最佳的最佳(zu ji)(zu ji)创意之创意之一!一!通过使用移位寄存器,规定输出端数据重用输入端数通过使用移位寄存器,规定输出端数据重用输入端数据内存据内存(ni cn)(ni cn),节省内存,节省内存(ni cn)(ni cn)开销开销举例:将输入数组的前半部分增大举例:将输入数组的前半部分增大1010倍倍第15页/共27页第十六页,共27页。演示:移位寄存器的使用演示:移位寄存器的使用演示:

7、移位寄存器的使用演示:移位寄存器的使用(shyng)(shyng)查找并替换数组中的值查找并替换数组中的值查找并替换数组中的值查找并替换数组中的值第16页/共27页第十七页,共27页。2 灵活(ln hu)使用LabVIEW自带的VI基本线性代数子程序VI (Basic Linear Algebra Subroutines)合理归并基本线性代数操作减少不必要的内存(ni cn)复制开销使程序更加简洁数学数学(shxu)线性代数线性代数BLASNEW!第17页/共27页第十八页,共27页。演示:使用演示:使用BLAS VI进行矩阵进行矩阵(j zhn)向量乘法向量乘法第18页/共27页第十九页,

8、共27页。3 元素(yun s)同址操作结构更新(gngxn)数组或簇中的元素时,避免元素数据备份应用应用(yngyng)控制控制内存控制内存控制NEW!第19页/共27页第二十页,共27页。元素同址操作结构(jigu)的优点方便实现多种情况方便实现多种情况(qngkung)(qngkung)的缓存重用,消除元素复制开销的缓存重用,消除元素复制开销数组索引和替换数组索引和替换簇的绑定和解除绑定簇的绑定和解除绑定波形的绑定和解除绑定波形的绑定和解除绑定变体的缓存重用变体的缓存重用任意元素的缓存重用任意元素的缓存重用第20页/共27页第二十一页,共27页。举例:数组索引(suyn)和替换将数组第2

9、个元素(yun s)增大10倍方法方法(fngf)一:一:方法二:方法二:元素数据备份元素数据备份第21页/共27页第二十二页,共27页。举例(j l):簇的绑定和解除绑定个人纳税信息(xnx)的更新第22页/共27页第二十三页,共27页。演示:嵌套的元素同址操作结构演示:嵌套的元素同址操作结构演示:嵌套的元素同址操作结构演示:嵌套的元素同址操作结构(jigu)(jigu)更新数组中单数号元素更新数组中单数号元素更新数组中单数号元素更新数组中单数号元素第23页/共27页第二十四页,共27页。4 合理配置调用函数库节点(ji din)调用库函数节点中的调用库函数节点中的ConstantConst

10、ant选项选项只有输入端,没有只有输入端,没有(mi yu)(mi yu)输出端,并确保在所调输出端,并确保在所调用的函数中没有用的函数中没有(mi yu)(mi yu)修改所输入的数据修改所输入的数据此时选中此时选中ConstantConstant选项,选项,LabVIEWLabVIEW不会对输入数据不会对输入数据进行备份进行备份NEW!第24页/共27页第二十五页,共27页。演示演示(ynsh):配置调用库函数节点:配置调用库函数节点第25页/共27页第二十六页,共27页。总结(zngji)优化LabVIEW程序内存管理可以(ky)显著提高效率利用内存分配显示工具检查内存分配情况慎用可能导致内存分配的函数和全局变量灵活使用缓存重用技术移位寄存器 shift register元素同址操作结构 目标:尽量消除代表内存分配的黑点!第26页/共27页第二十七页,共27页。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 管理文献 > 管理工具

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁