|

本帖最后由 Mini 于 2015-9-17 11:49 编辑
如果你想学好易语言的话请仔细看看以下的内容吧。看完此文之后保证你大有收获。 什么是一个高效的软件?一个高效的软件不仅应该比实现同样功能的软件运行得更快,还应该消耗更少的系统资源。程序的时间效率是指运行速度,空间效率是指程序占用内存或者外存的状况。另外程序的效率我们也可以分为全局效率和局部效率。全局效率是指站在整个系统的角度上考虑的效率,局部效率是指站在模块或函数角度上考虑的效率。1. 使用整数和长整数 提高代码运行速度最简单的方法莫过于使用正确的数据类型了。也许你不相信,但是
正确地选择数据类型可以大幅度提升代码的性能。在大多数情况下,程序员可以将短整数型、小数型和双精度小数型的变量替换为整数(Integer)或长整数(Long)类型的变量,因为易语言处理整数和长整数的能力远远高于处理其它几种数据类型。 在大多数情况下,程序员选择使用小数型或双精度小数型的原因是因为它们能够保存小数。但是小数也可以保存在整数类型的变量中。例如程序中约定有三位小数,那么只需要将保存在整数型变量中的数值除以1000就可以得到结果。根据我的经验,使用整数和长整数替代短整数型、小数型和双精度小数型后,代码的运行速度可以提高将近10倍。是我们也不要老是强调使用使用整数和长整数,因为在程序中数据类型的定义还牵涉一个关键的问题,就是数据的安全,频繁而无规范地定义数据类型会使算法出现漏洞,是数据的安全和临界判断有问题.对财务和工程计算而言,小数点的精度是很敏感的数据,只能用双精度数据来规范.另外, 换成整型也会导致程序可读性急剧下降. 2. 避免使用通用型数据 通用型的变量需要16个字节的空间来保存数据,而一个整数(Integer)只需要2个字节。通常使用通用型变量的目的是为了减少设计的工作量和代码量,也有的程序员图个省事而使用它。但是如果一个软件经过了严格设计和按照规范编码的话,完全可以避免使用变体类型3. 尽量避免使用属性在平时的代码中,最常见的比较低效的代码就是在可以使用变量的情况下,反复使用属性(Property),尤其是在循环中。要知道存取变量的速度是存取属性的速度的20倍左右。下面这段代码是很多程序员在程序中会使用到的: 容器名: 数值 类型:整数型
容器名: 容器 类型:整数型 计次循环首(7,容器)
文本1.内容 = 文本1.内容 + #换行符 + 到文本((数值×容器))
计次循环尾() 下面这段代码的执行速度是上面代码的20倍 容器名: 数值 类型:整数型
容器名: 容器 类型:整数型
容器名: 文本 类型:文本型 文本 = 文本1.内容
计次循环首(7,容器)
文本 = 文本 + #换行符 + 到文本((数值×容器))
计次循环尾()
文本1.内容 = 文本 另外要注意,这个涉及一个编程思路,用属性当变量的作法大多数情况可以简化算法。所以有时候也不能一味强调用变量代替属性。 6. 避免调用很短的子程序调用只有几行代码的子程序也是不经济的--调用子程序所花费的时间或许比执行子程序中的代码需要更长的时间。在这种情况下,你可以把子程序中的代码拷贝到原来调用子程序的地方。
但是有时候小的子程序可能会被调用很多次而不是只有两三次,这时就应该调用它。 总结:执行效率和程序可读性永远是对矛盾,两者应该通盘考虑;资源占用和程序易用性永远是对矛盾,两者也应该通盘考虑。基于此,下面探讨一些提高程序的效率的规则。 【规则1】不要一味地追求程序的效率,应当在满足正确性、可靠性、健壮性、可读性等质量因素的前提下,设法提高程序的效率。 【规则2】以提高程序的全局效率为主,提高局部效率为辅。 【规则3】在优化程序的效率时,应当先找出限制效率的“瓶颈”,不要在无关紧要之处优化。 【规则4】先优化数据结构和算法,再优化执行代码。先考虑某功能是否可以用函数(命令)来实现,如果找不到这样的函数,再考虑用其他代码实现。 【规则5】有时候时间效率和空间效率可能对立,此时应当分析那个更重要,作出适当的折衷。例如多花费一些内存来提高性能。 【规则6】不要在什么时候都只追求紧凑的代码,因为紧凑的代码并不能产生高效的机器码。 |
评分
-
查看全部评分
|