程序优化是指以某种方式修改计算机程序的过程,使程序执行得更快,消耗的资源更少,或者通常以更高的效率运行。优化任务可以由某些程序设计语言编译器自动执行,有意地使用一个优化程序,或由程序员手动执行源代码并尝试进行特...
程序优化是指以某种方式修改计算机程序的过程,使程序执行得更快,消耗的资源更少,或者通常以更高的效率运行。优化任务可以由某些程序设计语言编译器自动执行,有意地使用一个优化程序,或由程序员手动执行源代码并尝试进行特定的改进。通常,程序优化是在考虑特定目的的情况下执行的,因为可以对程序进行的一般优化很少不会以某种方式降低程序另一部分的优化状态,这意味着程序通常可以针对速度或资源使用进行优化,但通常不是两者兼而有之。在某些类型的优化中,一个可能出现的复杂情况是,许多高级编程语言在本机代码和计算机语言之间提供了如此大的抽象级别,以至于在所有情况下,在所有平台上都很难或不可能实现优化,尤其是对于使用即时(JIT)编译的解释性语言。女人在和计算机进行倒立时,程序优化中的一个重要概念是优化通常会带来某种代价。例如,当一段代码被优化以更快地运行时,速度的提高可能以代码可读性、内存使用、程序灵活性或其他一些成本为代价。这意味着程序优化必须是一个有针对性的过程,为了使程序的一个方面以更好的方式运行,同时又愿意牺牲其他方面的效率。在程序开发的不同阶段可以进行不同类型的程序优化。在设计过程中,通过确保程序看起来有效运行,可以进行广泛的优化当使用实际的源代码时,优化可以包括确保没有多余的命令、重复的调用或写得不好的函数,许多优化是由编译器自动执行的,程序员可以通过使用不同的编译器开关或指令来指导。自动优化,如编译器或专用优化程序所发生的那样,通常会涉及到对人类程序员来说太复杂而不实用的技巧。这可以涉及到在程序中移动指令,使它们按照最初编写的顺序执行,但对处理器来说,这是一种更有效的方式。它还可能涉及有意地转移资源,如内存块,以便更快地访问它们。大多数程序优化都是在编译器级别自动进行的重复或激进的程序优化是指,一旦程序被修改为更有效地运行,通常就更难为其他目的进行修改,例如添加功能或修复错误。当优化开始锁定不易更改或适应新代码的设置程序行为时,就会发生这种情况一个更大的问题是,在许多情况下,优化后的程序变得不那么易懂,因为使用的是技巧和快捷方式,而不仅仅是简洁的命令和经典的控制结构。基于这些原因,通常有一个程序优化级别,在这个级别上可以停止,即使剧烈的代码修改可能会使程序的工作效率稍微提高一些
-
发表于 2020-08-06 06:44
- 阅读 ( 968 )
- 分类:电脑网络