怎么提高程序的效率
【规则1】不要一味地追求程序的效率,应当在满足正确性、可靠性、健壮性、可读性等质量因素的前提下,设法提高程序的效率。【规则2】以提高程序的全局效率为主,提高局部效率为辅。...
【规则1】不要一味地追求程序的效率,应当在满足正确性、可靠性、健壮性、可读性等质量因素的前提下,设法提高程序的效率。
【规则2】以提高程序的全局效率为主,提高局部效率为辅。
【规则3】在优化程序的效率时,应当先找出限制效率的“瓶颈”,不要在无关紧要之处优化。
【规则4】先优化数据结构和算法,再优化执行代码。
【规则5】有时候时间效率和空间效率可能对立,此时应当分析那个更重要,作出适当的折衷。例如多花费一些内存来提高性能。
【规则6】不要追求紧凑的代码,因为紧凑的代码并不能产生高效的机器码。
以上6点怎么解释呢 能举出例子吗 展开
【规则2】以提高程序的全局效率为主,提高局部效率为辅。
【规则3】在优化程序的效率时,应当先找出限制效率的“瓶颈”,不要在无关紧要之处优化。
【规则4】先优化数据结构和算法,再优化执行代码。
【规则5】有时候时间效率和空间效率可能对立,此时应当分析那个更重要,作出适当的折衷。例如多花费一些内存来提高性能。
【规则6】不要追求紧凑的代码,因为紧凑的代码并不能产生高效的机器码。
以上6点怎么解释呢 能举出例子吗 展开
1个回答
展开全部
个人理解:
1)说的是程序是要供人去读,去维护,因此不能为了效率牺牲这方面的性能,导致程序难以理解,维护。那样,正确性,可靠性及健壮性就无从谈起了。
2) 是说要首先着眼于全局的优化,譬如路径是否合理,有没有多余的步骤,有没有多余的循环?
3) 找出瓶颈的意思是说,程序可能由若干步骤、若干部分组成。有可能大多数步骤的效率都是100,个别步骤的是10,你应该先优化效率低的这些地方。
4) 数据结构与实际要描述的对象,你要进行合理的优化,去除不必要的冗余,等等。而算法的优化,你可以看一个在一列排好序的数列中查找一个给定数的算法,一般讲算法的书上。采用不同的算法效率是大不一样的,这比仅仅优化代码的效果要好得多。
5) 效率分为(存储)空间效率和时间效率,这两者一般比较难以统一,往往要在两者之间权衡。不过随着计算机技术的发展,现在一般计算机都可以提供足够的空间,因此空间效率往往已经不成为问题了。你只要专注于提高时间效率就可以了!
6) 紧凑的代码主要是去除了好多必要的格式字符达成的。实际执行的机器码都是经过编译产生的,而编译过程中机器会自动过滤掉格式字符,因此是否去除格式字符对编译产生的机器码没有什么影响。
1)说的是程序是要供人去读,去维护,因此不能为了效率牺牲这方面的性能,导致程序难以理解,维护。那样,正确性,可靠性及健壮性就无从谈起了。
2) 是说要首先着眼于全局的优化,譬如路径是否合理,有没有多余的步骤,有没有多余的循环?
3) 找出瓶颈的意思是说,程序可能由若干步骤、若干部分组成。有可能大多数步骤的效率都是100,个别步骤的是10,你应该先优化效率低的这些地方。
4) 数据结构与实际要描述的对象,你要进行合理的优化,去除不必要的冗余,等等。而算法的优化,你可以看一个在一列排好序的数列中查找一个给定数的算法,一般讲算法的书上。采用不同的算法效率是大不一样的,这比仅仅优化代码的效果要好得多。
5) 效率分为(存储)空间效率和时间效率,这两者一般比较难以统一,往往要在两者之间权衡。不过随着计算机技术的发展,现在一般计算机都可以提供足够的空间,因此空间效率往往已经不成为问题了。你只要专注于提高时间效率就可以了!
6) 紧凑的代码主要是去除了好多必要的格式字符达成的。实际执行的机器码都是经过编译产生的,而编译过程中机器会自动过滤掉格式字符,因此是否去除格式字符对编译产生的机器码没有什么影响。
北京新国信
2023-07-11 广告
2023-07-11 广告
软件测试是一个非常广泛的领域,需要掌握多种技能和知识。以下是一些做软件测试时需要掌握的关键技能和知识:1. 编程技能:测试人员需要具备一定的编程知识,能够阅读和理解源代码,编写测试脚本和自动化测试工具,例如Python、Java等语言。2....
点击进入详情页
本回答由北京新国信提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询