iOS 进阶之路

OC底层原理四: 编译器优化

2020-09-11  本文已影响0人  markhetao

OC底层原理 学习大纲

问题


1.认识slowpath 和 fastpath

objc4源码中有很多slowpathfastpath函数,他们都是为编译优化而生。

image.png

宏定义如下:

#define fastpath(x) (__builtin_expect(bool(x), 1))
#define slowpath(x) (__builtin_expect(bool(x), 0))

2. 认识 __builtin_expect(EXP, N)

__builtin_expect是gcc引入的

3. slowpath 和 fastpath

4. 如何配置

image

Fastest,Smallest[-OS]模式下,会发现汇编页面展示的代码已精简很多

答案

Release环境下,系统自动选择Fastest,Smallest[-OS]模式,完成编译器优化。

下一节: OC底层原理五:剖析isa (卸妆后的对象)

上一篇 下一篇

猜你喜欢

热点阅读