|
|
51CTO旗下网站
|
|
移动端

前言

《iOS和macOS性能优化:Cocoa、Cocoa Touch、Objective-C和Swift》本书作者Marcel Weiher在性能调优领域有着丰富的经验,在他的带领下,你将会了解如何提升CPU、内存、I/O、图像、Swift等方面的性能,如何在开发过程中定位到性能的瓶颈和问题,他同时还介绍了性能优化的编程技巧和最佳实践,从而帮助你写出更高效、更快速的代码。本节为前言。

作者:李俊阳 等译来源:电子工业出版社|2018-07-17 16:19

前言

性能是软件极其重要的特性之一。若没有世界***的性能,软件也就称不上是***的。长期以来,硬件的改善意味着担心软件的性能似乎是浪费时间的,但随着摩尔定律不再自然而然地提供显著的自动性能改进,性能优化也逐步回到了计算机科学和工程的前沿。

此外,尽管底层硬件的性能已经提升了很多倍,但终端用户对性能提升的感知似乎并不明显。比尔·盖茨认为"软件的速度每18 个月就会变慢一半",同样在A Plea for LeanSoftware(《为软件瘦身请命》)一文中提出的维尔特定律还认为,"软件变慢的速度永远快过硬件变快的速度"1。

iPad 面世之初,行业资深人士被其流体式的布局界面所惊艳,但同时不得不接受一个只配备了1GHz 的CPU,这是让人感到遗憾的一点。不过,那时的iPad 比我的Apple II快了1000 多倍,比大屏的NeXT Cube 也要快40 倍。如果真的有什么值得诧异的,那就是在使用GPU 处理屏幕渲染的时候,它居然没怎么变快。

本书将尝试在Objective-C、Cocoa 和Cocoa Touch 的背景下深入了解这些发展的根本原因,并尝试提供技术,帮助我们充分利用计算机惊人的原始力量--那些易于肆意挥霍的力量。我会试图告知何时挥霍计算机的性能是恰当的,以及何时需要对性能引起高度重视。程序员的注意力也是一种稀缺资源,但却经常浪费在尝试优化无关紧要的部分程序上。

主题将涵盖延迟与带宽,处理事项成本损耗(开销)与实际完成工作的对比,其具有普遍性,且硬件和软件栈的表现形式随级别不同而不同。

你可能注意到任何单一的操作时间取决于机器的速度,而机器总是足够快的,因此得出关键方程项目数?损耗。大多数优化是减少公式的一部分或两部分,通常我们要先尝试将其分解。

降低成本损耗的一种常用方法:认识到损耗实际上是由损耗1 和损耗2 两个独立的成本组成的,并且两者之中有且仅有一个需要应用于所有项目--项目数×(损耗1+损耗2)→损耗1+项目数×损耗2。我称之为基本优化方程,大部分优化技术均属于这一类,它也是构成我们每天处理的大多数硬件/软件栈的基础。

本书有一个非常规则的目录结构,将依次讨论性能的4 个基本主题领域:

1.CPU 的性能

2.内存

3.I/O

4.图像和响应速度

尽管已经努力保证每个主题领域的独立性,但是逻辑之间千丝万缕,因此对基础的主题有一定了解有助于对后续主题的理解。

上述4 个主题分别又被划分成4 个特定的兴趣领域,如下。

1.原理。

2.测量和工具。

3.陷阱和优化技巧。

4.实战演示应用技术。

再次强调,我们将遵循这样一个逻辑结构:在进行实际的性能优化技术之前,你需要了解一些理论知识并知道如何测量,同样地,如果基本熟悉前面几个话题,应该也能够深入感兴趣的特定领域。

本书采用这种结构划分成了4?4 =16 章,加上内存和I/O 之间穿插的特别章节Swift,总计17 章。Swift 在整本书中被广泛使用,其独特的性能特点值得我们新开一章来讨论。

对我而言,软件性能是一种激情和呼唤,贯穿了我的整个职业生涯。关于性能,我深有体会,性能无法自动优化,我们也无法在***时刻弃它而去。另一方面,不要过分担心性能,才能集中精力在真正需要的性能工作上。这并非自相矛盾,设定一个合理的基础性能水平,通常情况下软件都是能够达到的,这样就免去了大部分时间都在对性能担忧的困扰。

简而言之,本书是关于如何出色***地提升软件执行效率的一本书。

喜欢的朋友可以添加我们的微信账号:

51CTO读书频道二维码


51CTO读书频道活动讨论群:365934973

【责任编辑:book TEL:(010)68476606】

回书目      下一节
点赞 0
分享:
大家都在看
猜你喜欢

订阅专栏+更多

16招轻松掌握PPT技巧

16招轻松掌握PPT技巧

GET职场加薪技能
共16章 | 晒书包

289人订阅学习

20个局域网建设改造案例

20个局域网建设改造案例

网络搭建技巧
共20章 | 捷哥CCIE

645人订阅学习

WOT2019全球人工智能技术峰会

WOT2019全球人工智能技术峰会

通用技术、应用领域、企业赋能三大章节,13大技术专场,60+国内外一线人工智能精英大咖站台,分享人工智能的平台工具、算法模型、语音视觉等技术主题,助力人工智能落地。
共50章 | WOT峰会

0人订阅学习

读 书 +更多

SOA 原理•方法•实践

本书并不是关于Web服务的又一本开发手册,抑或是开发技术的宝典之类的读物。本书的作者来自于IBM软件开发中心的SOA技术中心,作为最早的一...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊

51CTO服务号

51CTO播客