应用编译优化三种模式

应用编译优化三种模式,第1张

应用编译优化三种模式分别是:编译时间优化模式、执行时间优化模式和代码大小优化模式。

1、编译时间优化模式:关注编译速度的提升,以缩短应用程序的编译时间为目标。在这种模式下,编译器会减少编译时间,会降低应用程序的执行效率。

2、执行时间优化模式:关注应用程序的执行效率,以提高应用程序的性能为目标。在这种模式下,编译器会优化应用程序的代码,以提高执行效率,会增加编译时间。

3、代码大小优化模式:关注应用程序的大小,以减小应用程序的体积为目标。在这种模式下,编译器会减小应用程序的代码大小,以减小应用程序的体积,会降低应用程序的执行效率。

应用编译优化的作用是:提高运行能力因为程序优化前,有3个变量需要3个寄存器,一次乘法运算。程序优化后,只有1个变量需要一个寄存器,没有乘法运算。

并且这个优化看起来很微不足道,但实际上用途很广。为了程序的可读性和可维护性,大多数程序员应该还是会选用第一种方式。

写3行程序而不是直接甩下一行int ticks = 491520让后来读程序的人摸不到头脑。有了编译器的优化,程序员既可以写出易读的程序又不必担心性能受影响。

尤其是在嵌入式领域,很多低端芯片根本就没有硬件乘法器,如果程序不做上述优化可能这3行代码需要几十个cycle,优化过后一个cycle就搞定。

应用编译优化的级别:

第一级:代码调整。

代码调整是一种局部的思维方式;基本上不触及算法层级;它面向的是代码,而不是问题; 所以:语句调整,用汇编重写、指令调整、换一种语言实现、换一个编译器、循环展开、参数传递优化等都属于这一级。

第二级:新的视角。

新的视角强调的重点是针对问题的算法;即选择和构造适合于问题的算法。

第三级:表驱动状态机

将问题抽象为另一种等价的数学模型或假想机器模型,比如构造出某种表驱动状态机;这一级其实是第二级的延伸,只是产生的效果更加明显,但它有其本身的特点。

为了提高程序的执行效率,编译器优化程序时,会尝试优化局部变量和不分配空间。这样做的好处是,编译器可以将更多的计算时间转换成空间,从而提高程序的执行效率。此外,优化过的局部变量和不分配空间也可以减少程序的内存占用,进一步提高程序的执行效率。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11525985.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存