本文由快学吧个人写作,以任何形式转载请表明原文出处。
一、简单的举例
我们在即将发布一个app的时候,都会将xcode的Edit Scheme中的Build Configuration选成Release模式。从Debug到Release,xcode就已经给我们的代码做了一些编译器的优化了。
我们随便写段代码进行举例。
举例 :
1、代码
- (int)sumNumber : (int)a andNumber :(int)b
{
return a + b;
}
- (void)viewDidLoad {
[super viewDidLoad];
int a = 10;
int b = 20;
int c = a + b;
int d = [self sumNumber:a andNumber:b];
//NSLog这行挂上断点
NSLog(@"编译器优化 :\n c :%d --- d :%d",c,d);
}
2、Edit Scheme的Build Configuration是默认的Debug模式
3、运行代码。会停NSLog处的断点处。
4、然后打开汇编
5、汇编结果
6、将Edit Scheme的Build Configuration改成Release模式再看汇编
改成release
7、再看汇编结果
会发现包括10和20的16进制的数字都没有了,连加法的操作也没了。这就是编译器的一个优化后的结果。
二、简单的xcode设置
在Build Settings里面,我们去查找Optimization(优化的意思),可以看到 :
在Optimization Level中,可以看到Debug模式下,优化程度选择的是None(没有优化),而Release模式下,优化模式选的是Fastest,Smallest(变得又快又小的优化)。
三、简单说下编译器优化的作用
编译器的优化,会减少包括 : 编译时间、链接时间、运行时间、空闲时间。