位置:51电子网 » 技术资料 » 集成电路

合理使用内存的一般原则

发布时间:2014/6/23 20:45:31 访问次数:686

   (1)将一个程序划分为一些子VI,一般不仅不会增加内存的使用,反而会改进内存的使用。SM5013KDH-EL如果没有特殊的显示的需要,调用一个子VI仅仅相当于把它的代码复制到顶层VI,而执行系统可以在不使用子VI时收回它占用的内存。

   但是在有些情况下使用子VI也会产生一个前面板控件数据的副本,例如前面板使用数据记录、挂起后进行数据范围检查、VI使用局部变量以及前面板在内存中等。前面板进入内存的原因是前面板打开、VI修改后尚未保存、前面板数据打印、程序框图中有属性节点等。

   (2)可以使用连线时就不使用局部变量传递数据,更不要过度使用带有数组或字符串的局部变量与全局变量,因为读,写局部变量和全局变量时会产生一个数据的副本。

   (3)尽可能不在前面板显示大的数组或字符串。在打开的前面板上,显示控件会为它显示的数据保存一个副本。

   (4)输入数组的数据类型保持一致。因为在转换数据类型时执行系统会生成一个数据的副本。图3-26所示的程序最后显示的都是一个1000点的单精度数组,显示数据用4KB内存。但是图3-26 (a)的程序由于产生8KB的双精度数组,乘以标量后转换为单精度数纽又用了4KB内存,所以程序总共用了16 KB内存。而图3-26 (b)的程序由于没有数组的数据转换,所以总共只用了8 KB内存。

   (5)避免使用复杂的、层次化的数据类型,例如包含大数组或字符串的簇或簇数组。

   (6)尽量不在循环中使用“创建数组”函数产生数组,因为这个函数会反复调用LabVIEW的内存管理器。比较好的方法是使用自动索引或者预先定义一个数组大小,然后替换它的成员。处理字符串也有类似的问题,因为字符串在内存中是作为字符数组处理的。

             

   例如,图3-27 (a)的程序和图3-27 (b)的程序最后产生的结果是一样的。但是图3-27 (a)的程序在每次循环中调用“创建数组”函数,反复改变数据缓冲区的大小以便容纳新增加的数组成员,结果导致程序运行速度降低。

   用户对于一个工程项目往往会有许多形式上的要求,这些要求有时会与程序性能产生严重的冲突,往往只能采取折中的方法来加以解决,即首先考虑问题的主要方面,并尽可能兼顾其他要求。因为计算机配置的迅速提高,我们应对这个问题越来越从容。

      

   (1)将一个程序划分为一些子VI,一般不仅不会增加内存的使用,反而会改进内存的使用。SM5013KDH-EL如果没有特殊的显示的需要,调用一个子VI仅仅相当于把它的代码复制到顶层VI,而执行系统可以在不使用子VI时收回它占用的内存。

   但是在有些情况下使用子VI也会产生一个前面板控件数据的副本,例如前面板使用数据记录、挂起后进行数据范围检查、VI使用局部变量以及前面板在内存中等。前面板进入内存的原因是前面板打开、VI修改后尚未保存、前面板数据打印、程序框图中有属性节点等。

   (2)可以使用连线时就不使用局部变量传递数据,更不要过度使用带有数组或字符串的局部变量与全局变量,因为读,写局部变量和全局变量时会产生一个数据的副本。

   (3)尽可能不在前面板显示大的数组或字符串。在打开的前面板上,显示控件会为它显示的数据保存一个副本。

   (4)输入数组的数据类型保持一致。因为在转换数据类型时执行系统会生成一个数据的副本。图3-26所示的程序最后显示的都是一个1000点的单精度数组,显示数据用4KB内存。但是图3-26 (a)的程序由于产生8KB的双精度数组,乘以标量后转换为单精度数纽又用了4KB内存,所以程序总共用了16 KB内存。而图3-26 (b)的程序由于没有数组的数据转换,所以总共只用了8 KB内存。

   (5)避免使用复杂的、层次化的数据类型,例如包含大数组或字符串的簇或簇数组。

   (6)尽量不在循环中使用“创建数组”函数产生数组,因为这个函数会反复调用LabVIEW的内存管理器。比较好的方法是使用自动索引或者预先定义一个数组大小,然后替换它的成员。处理字符串也有类似的问题,因为字符串在内存中是作为字符数组处理的。

             

   例如,图3-27 (a)的程序和图3-27 (b)的程序最后产生的结果是一样的。但是图3-27 (a)的程序在每次循环中调用“创建数组”函数,反复改变数据缓冲区的大小以便容纳新增加的数组成员,结果导致程序运行速度降低。

   用户对于一个工程项目往往会有许多形式上的要求,这些要求有时会与程序性能产生严重的冲突,往往只能采取折中的方法来加以解决,即首先考虑问题的主要方面,并尽可能兼顾其他要求。因为计算机配置的迅速提高,我们应对这个问题越来越从容。

      

相关技术资料
6-23合理使用内存的一般原则

热门点击

 

推荐技术资料

DS2202型示波器试用
    说起数字示波器,普源算是国内的老牌子了,FQP8N60... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!