重磅推荐
【产品特色】



【编辑推荐】

√从基本原理出发,了解苹果设备性能的常见陷阱和误解,解决苹果系统性能问题;

√理解*化原则、测量、工具、陷阱和技巧;

√了解什么时候要仔细优化,什么时候不值得花时间优化;

√平衡性能和封装,创建高效的对象表示、通信、数据访问和计算;

√避免拖慢Objective-C程序和阻碍后续优化的错误;

√修复内存和资源管理中的漏洞和其他问题;

√解决与驱动器、网络、序列化和SQLite相关的I/O问题;

√了解代码绘图和不会对有限的iOS设备资源造成太大负担的用户界面;

√所有开发人员都需要了解的关于Swift的性能信息。


【内容简介】
随着应用功能的日益增加,性能问题也逐渐浮出水面,进入我们的视野之中。本书作者Marcel Weiher在性能调优领域有着丰富的经验,在他的带领下,你将会了解如何提升CPU、内存、I/O、图像、Swift等方面的性能,如何在开发过程中定位到性能的瓶颈和问题,他同时还介绍了性能优化的编程技巧和*实践,从而帮助你写出更高效、更快速的代码。此外,你还将学习到定位性能问题的工具使用方法以及*实践,并跟随示例来学习性能优化。本书适合寻求进阶及所有对性能优化感兴趣的iOS 开发人员阅读。
【作者简介】
Marcel Weiher是一位在Cocoa技术方向上有超过25年经验的软件工程师和研究员。Marcel的工作一直聚焦在性能优化上,包括在BBC解决不可能的预压榨问题,和在Apple的Mac OS X 性能团队帮助其他Apple工程师提升代码的性能。除了帮助知名公司和新兴公司创建了成功的软件,帮助开发团队,Marcel也会做培训课程,分享博客,在会议上做演讲,贡献开源项目,并开发像Higher Order Messageing这样的新技术。他也致力于开发语言的研究,从1987年开始做Objective-C的实践,*后研究了Objective-Smalltalk。Marcel目前是柏林Microsoft的首席软件工程师,维护已有的软件,并为公司提供咨询顾问。
李俊阳(星夜暮晨),Realm 中文翻译,SwiftGG 翻译组核心成员,《Xcode 江湖录》作者之一。沉迷 Swift,自 Swift 发布以来一直在探索和学习 Swift 的开发和使用;热爱开源,多次向 Swift、Realm Cocoa 开源库贡献代码;喜欢独辟蹊径,目前在 App Store 上架了专门为彝族同胞开发的「彝文输入法」,希望通过自己的努力让所有人都能享受科技带来的便利。马超,iOS 开发工程师,目前就职于某金融公司手机炒股部门,SwiftGG 翻译组核心成员。自 Apple 推出 Swift 语言之后开始学习并应用到 iOS 项目开发中,已上架多款应用到 App Store,目前专注于 Server-Side Swift 的开发,正在构思实现一个底层开源库;业余时间喜欢逛技术博客,翻译外文以及和技术大牛交流学习。新浪微博@Ninth_Day。程伟,SwiftGG 翻译组核心成员,曾做过路由器、防火墙等安全硬件产品的 firmware 研发工作,对 iOS 开发也颇有研究,自 Swift 发布以来一直关注着它的发展,并保持有对新技术的热忱。目前就职于某国企负责项目管理工作,业余时间喜欢看书、跑步、烧菜,研究大前端技术栈,希望能通过自己的努力为国内的技术发展添砖加瓦。
【目录】
目录
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
对象的高效性能 ...................................................................................................
返回顶部