描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787121338144
产品特色
编辑推荐
√从基本原理出发,了解苹果设备性能的常见陷阱和误解,解决苹果系统性能问题;
√理解*化原则、测量、工具、陷阱和技巧;
√了解什么时候要仔细优化,什么时候不值得花时间优化;
√平衡性能和封装,创建高效的对象表示、通信、数据访问和计算;
√避免拖慢Objective-C程序和阻碍后续优化的错误;
√修复内存和资源管理中的漏洞和其他问题;
√解决与驱动器、网络、序列化和SQLite相关的I/O问题;
√了解代码绘图和不会对有限的iOS设备资源造成太大负担的用户界面;
√所有开发人员都需要了解的关于Swift的性能信息。
内容简介
随着应用功能的日益增加,性能问题也逐渐浮出水面,进入我们的视野之中。本书作者Marcel Weiher在性能调优领域有着丰富的经验,在他的带领下,你将会了解如何提升CPU、内存、I/O、图像、Swift等方面的性能,如何在开发过程中定位到性能的瓶颈和问题,他同时还介绍了性能优化的编程技巧和*实践,从而帮助你写出更高效、更快速的代码。此外,你还将学习到定位性能问题的工具使用方法以及*实践,并跟随示例来学习性能优化。本书适合寻求进阶及所有对性能优化感兴趣的iOS 开发人员阅读。
目 录
目录
1 CPU:原理 ………………………………………………………………………………………………………. 1
一个简单的例子 …………………………………………………………………………………………………………. 2
(微)基准的危险 ………………………………………………………………………………………………. 3
更多整数求和的方式 …………………………………………………………………………………………. 4
Swift…………………………………………………………………………………………………………………. 5
其他语言 …………………………………………………………………………………………………………… 7
混编的力量 ……………………………………………………………………………………………………………….. 9
趋势 ………………………………………………………………………………………………………………………… 10
操作成本 …………………………………………………………………………………………………………………. 12
复杂度计算 ………………………………………………………………………………………………………………. 14
总结 ………………………………………………………………………………………………………………………… 16
2 CPU:测量和工具 …………………………………………………………………………………………… 17
命令行工具 ………………………………………………………………………………………………………………. 18
top ………………………………………………………………………………………………………………… 18
time ………………………………………………………………………………………………………………. 19
sample …………………………………………………………………………………………………………… 19
Xcode 测量工具 ………………………………………………………………………………………………………… 22
Instruments……………………………………………………………………………………………………………….. 23
设置和数据收集 ………………………………………………………………………………………………. 24
性能分析选项 ………………………………………………………………………………………………….. 25
基本分析 …………………………………………………………………………………………………………. 27
源代码 …………………………………………………………………………………………………………….. 29
数据挖掘I:Focus …………………………………………………………………………………………… 31
数据挖掘II:Pruning ……………………………………………………………………………………….. 34
内部测量 …………………………………………………………………………………………………………………. 35
测试 ……………………………………………………………………………………………………………….. 36
dtrace(dynamic tracing,动态跟踪) ………………………………………………………………………… 37
职责之外的优化 ……………………………………………………………………………………………………….. 38
总结 ………………………………………………………………………………………………………………………… 39
3 CPU:陷阱和优化技巧 …………………………………………………………………………………….. 41
数据表示 …………………………………………………………………………………………………………………. 41
基本类型 …………………………………………………………………………………………………………. 42
字符串 …………………………………………………………………………………………………………….. 45
对象 ………………………………………………………………………………………………………………………… 47
存取器 …………………………………………………………………………………………………………….. 48
公共访问(Public Access) ………………………………………………………………………………. 51
对象创建和缓存 ………………………………………………………………………………………………. 52
可变性和缓存 ………………………………………………………………………………………………….. 53
惰性求值 …………………………………………………………………………………………………………. 55
缓存注意事项 ………………………………………………………………………………………………….. 55
陷阱:通用(中级)表示 ………………………………………………………………………………… 57
数组和批处理 ………………………………………………………………………………………………….. 58
字典 ……………………………………………………………………………………………………………….. 60
消息传递 …………………………………………………………………………………………………………………. 63
IMP 缓存 …………………………………………………………………………………………………………. 65
转发 ……………………………………………………………………………………………………………….. 67
均匀性和优化 ………………………………………………………………………………………………….. 69
方法 ………………………………………………………………………………………………………………………… 70
陷阱:CoreFoundation ……………………………………………………………………………………… 70
多核 ………………………………………………………………………………………………………………………… 71
线程(Thread) ……………………………………………………………………………………………….. 72
工作队列 …………………………………………………………………………………………………………. 73
有节制地优化 …………………………………………………………………………………………………………… 74
4 CPU 实战:XML 解析 ……………………………………………………………………………………… 77
HTML 扫描器 …………………………………………………………………………………………………………… 78
将回调映射为消息…………………………………………………………………………………………………….. 81
对象 ………………………………………………………………………………………………………………………… 83
对象的高效性能 ………………………………………………………………………………………
1 CPU:原理 ………………………………………………………………………………………………………. 1
一个简单的例子 …………………………………………………………………………………………………………. 2
(微)基准的危险 ………………………………………………………………………………………………. 3
更多整数求和的方式 …………………………………………………………………………………………. 4
Swift…………………………………………………………………………………………………………………. 5
其他语言 …………………………………………………………………………………………………………… 7
混编的力量 ……………………………………………………………………………………………………………….. 9
趋势 ………………………………………………………………………………………………………………………… 10
操作成本 …………………………………………………………………………………………………………………. 12
复杂度计算 ………………………………………………………………………………………………………………. 14
总结 ………………………………………………………………………………………………………………………… 16
2 CPU:测量和工具 …………………………………………………………………………………………… 17
命令行工具 ………………………………………………………………………………………………………………. 18
top ………………………………………………………………………………………………………………… 18
time ………………………………………………………………………………………………………………. 19
sample …………………………………………………………………………………………………………… 19
Xcode 测量工具 ………………………………………………………………………………………………………… 22
Instruments……………………………………………………………………………………………………………….. 23
设置和数据收集 ………………………………………………………………………………………………. 24
性能分析选项 ………………………………………………………………………………………………….. 25
基本分析 …………………………………………………………………………………………………………. 27
源代码 …………………………………………………………………………………………………………….. 29
数据挖掘I:Focus …………………………………………………………………………………………… 31
数据挖掘II:Pruning ……………………………………………………………………………………….. 34
内部测量 …………………………………………………………………………………………………………………. 35
测试 ……………………………………………………………………………………………………………….. 36
dtrace(dynamic tracing,动态跟踪) ………………………………………………………………………… 37
职责之外的优化 ……………………………………………………………………………………………………….. 38
总结 ………………………………………………………………………………………………………………………… 39
3 CPU:陷阱和优化技巧 …………………………………………………………………………………….. 41
数据表示 …………………………………………………………………………………………………………………. 41
基本类型 …………………………………………………………………………………………………………. 42
字符串 …………………………………………………………………………………………………………….. 45
对象 ………………………………………………………………………………………………………………………… 47
存取器 …………………………………………………………………………………………………………….. 48
公共访问(Public Access) ………………………………………………………………………………. 51
对象创建和缓存 ………………………………………………………………………………………………. 52
可变性和缓存 ………………………………………………………………………………………………….. 53
惰性求值 …………………………………………………………………………………………………………. 55
缓存注意事项 ………………………………………………………………………………………………….. 55
陷阱:通用(中级)表示 ………………………………………………………………………………… 57
数组和批处理 ………………………………………………………………………………………………….. 58
字典 ……………………………………………………………………………………………………………….. 60
消息传递 …………………………………………………………………………………………………………………. 63
IMP 缓存 …………………………………………………………………………………………………………. 65
转发 ……………………………………………………………………………………………………………….. 67
均匀性和优化 ………………………………………………………………………………………………….. 69
方法 ………………………………………………………………………………………………………………………… 70
陷阱:CoreFoundation ……………………………………………………………………………………… 70
多核 ………………………………………………………………………………………………………………………… 71
线程(Thread) ……………………………………………………………………………………………….. 72
工作队列 …………………………………………………………………………………………………………. 73
有节制地优化 …………………………………………………………………………………………………………… 74
4 CPU 实战:XML 解析 ……………………………………………………………………………………… 77
HTML 扫描器 …………………………………………………………………………………………………………… 78
将回调映射为消息…………………………………………………………………………………………………….. 81
对象 ………………………………………………………………………………………………………………………… 83
对象的高效性能 ………………………………………………………………………………………
评论
还没有评论。