汇编语言

编译器优化

2018-07-05  本文已影响0人  Superman168

Optimization Level

新建项目,运行,默认即为 Debug 模式,在 Build Setting 下 搜索 optimization 就可以看到,

Optimization Level

可以看到 Debug 模式下无优化,而 Release 模则为 最优,优化过滤掉未使用,不需要等垃圾代码。(在不影响结果的情况下优化)

优化等级

APP代码执行过程

以 iPhone X 为例,搭载的为 A11 CPU,两级高速缓存。

访问速度:
寄存器 > 1级高速缓存 > 2 级 高速缓存 > 内存 > 磁盘

代码加载则刚好反过来,2 级高速缓存为 8 MB,可以加载最多 8 MB 的代码, 一般小的项目基本上可以全部加载完!

后记--多线程的补充

我们 APP 运行时,肯定是多线程的,由 CPU 协调各个线程,其实是由 操作系统来管理的,在切换线程时会对当前线程的寄存器做一个保护,切换的时候就可以继续访问,而不用关心寄存器的值是否被改动。

所有关于多线程的保护,防止资源抢夺都是对内存的保护。

上一篇 下一篇

猜你喜欢

热点阅读