TOP
0
0
三民出版.新書搶先報|最速、最優惠的新鮮貨報給你知!
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
滿額折
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)
iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)

iOS和macOS性能優化:Cocoa、Cocoa Touch、Objective-C和Swift(簡體書)

商品資訊

人民幣定價:99 元
定價
:NT$ 594 元
優惠價
87517
海外經銷商無庫存,到貨日平均30天至45天
下單可得紅利積點:15 點
商品簡介
作者簡介
目次
相關商品

商品簡介

隨著應用功能的日益增加,性能問題也逐漸浮出水面,進入我們的視野之中。本書作者Marcel Weiher在性能調優領域有著豐富的經驗,在他的帶領下,你將會瞭解如何提升CPU、內存、I/O、圖像、Swift等方面的性能,如何在開發過程中定位到性能的瓶頸和問題,他同時還介紹了性能優化的編程技巧和最佳實踐,從而幫助你寫出更高效、更快速的代碼。此外,你還將學習到定位性能問題的工具使用方法以及最佳實踐,並跟隨示例來學習性能優化。本書適合尋求進階及所有對性能優化感興趣的iOS 開發人員閱讀。

作者簡介

Marcel Weiher 是一名軟件工程師和研究人員,擁有超過25 年的Cocoa 相關技術經驗。Marcel 致力於性能優化相關的工作,曾在英國廣播公司優化過世界上極繁忙的網絡的性能,解決了當下機器上難以忍受的積壓問題,而其在Apple 的Mac OS X 性能團隊任職時,也幫助過其他工程師提高代碼性能。
除了幫助知名公司和初創企業開發屢獲殊榮的軟件以及組建開發團隊,Marcel 還教授課程,維護博客,出席會議演講,為開源項目做貢獻,併發明瞭如高階消息傳遞等新技術。自1987 年開始,Marcel 著手Objective-C 的實現,開始從事與編程語言相關的工作,最終實現了Objective-Smalltalk 架構研究語言。Marcel 目前在柏林的微軟公司擔任首席軟件工程師,並擁有自己的軟件和諮詢公司metaobject ltd。

譯者序
我們在開發應用的時候,最關心的都是些什麼呢?首要的自然就是功能需求了,此外還有那些炫酷的用戶界面和轉場動畫。當我們進入書店,或者在網上搜索時,映入眼簾的普遍都是開發入門、功能需求、動畫特效等諸如此類的書籍和文章。那麼,我們何時才會關注那些所謂的“非功能性需求”呢?
在我們翻譯的上一本書《iOS 應用安全權威指南》中,我們很高興地看到了iOS 開發中關於“安全性”需求的話題。在本書中,我們將繼續關注“性能和可靠性”這一非功能性需求。
提到性能,我們通常想到的是後臺的服務器性能和網絡帶寬。在出現性能問題的時候,我們會想方設法地提升後臺服務器的性能,增加CPU 內核、增加內存、增加網絡帶寬……但是有沒有想過,有時候應用本身的性能也會阻礙用戶數量的增長,甚至嚴重影響用戶體驗。試想,如果用戶在使用應用的時候,出現了嚴重的卡頓,這種情況對於用
戶而言往往是無法忍受的。這對很多公司而言,致命性不言而喻。更嚴重的是,應用一旦出現了性能問題,我們是沒辦法通過增加CPU 內核、內存等方法來進行提升的。因此,我們需要對應用進行性能調優。
但是,目前市面上關於iOS 性能優化的文章和書籍實在是少之又少,我們通常會看到人們用Instruments 的Allocations、Leaks 等工具來檢查性能問題,但是它們的具體用法是怎麼樣的呢?我們要怎樣做才能找到應用真實的性能瓶頸呢?有哪些問題是通過編寫代碼本身就可以規避的呢?這些,本書都能夠告訴你。
我們相信,每位軟件開發者都有一種精益求精、追求卓越的心態和想法,在我們完成了龐雜的功能需求之後,自然就會開始關注如何提升用戶體驗,其中就包括性能優化。無論你的應用規模如何,我們都強烈建議大家閱讀本書,掌握一些基本的技巧,只要在開發過程中規避這些陷阱和漏洞,那麼基本上我們的應用就能夠滿足性能的要求,在絕
大多數時間,使你完全沒必要擔憂性能的相關問題。
我們都知道,Xcode 擁有一個簡單的性能檢測窗口Debug Navigator,其中分別展示了CPU、內存、硬盤、網絡的使用量等。類似地,本書包含如下四部分內容:CPU、內存、I/O,以及圖像處理和響應速度。每部分內容都同時包括了基本的理論知識、測量的工具和度量標準、常見的問題和處理方法,以及真實的案例演示。內容循序漸進,由淺
至深,無論你是急於尋找性能問題的解決方案,還是想要系統化地學習性能調優的相關知識,都能夠依據這個完整的架構體系尋找到想要的內容。
在本書翻譯過程中,由於書中的內容對於我們而言也比較新穎,在百忙之餘,我們也一一根據書中的案例和步驟先行學習、試驗和體會,以期能夠用更為準確的語言和文字,將書中的思想完整地分享給各位讀者朋友。在此也特別感謝參與校對的SwiftGG 翻譯組的小夥伴們,對我們在翻譯過程中出現的錯誤進行了勘正。同時也感謝電子工業出版社的編輯、審稿專家,他們認真負責、高效細心地進行了編輯和校對,也給我們提出了不少好的建議。當然,由於本書用到了大量的專業術語,在中文世界中找不到相應的描述,因此我們也斗膽“創造”了很多新詞,如果出現了缺漏、不準確、不到位的情況,還請各位讀者批評指正。
最後,再次感謝你關注這本講解性能優化的書籍,我們相信你一定能從這本書中學習到各種有用的知識,向進階的iOS 開發者更進一步!
李俊陽
2018 年3 月3 日


前言
性能是軟件極其重要的特性之一。若沒有世界一流的性能,軟件也就稱不上是世界級的。長期以來,硬件的改善意味著擔心軟件的性能似乎是浪費時間的,但隨著摩爾定律不再自然而然地提供顯著的自動性能改進,性能優化也逐步回到了計算機科學和工程的前沿。
此外,儘管底層硬件的性能已經提升了很多倍,但終端用戶對性能提升的感知似乎並不明顯。比爾·蓋茨認為“軟件的速度每18 個月就會變慢一半”,同樣在A Plea for LeanSoftware(《為軟件瘦身請命》)一文中提出的維爾特定律還認為,“軟件變慢的速度永遠快過硬件變快的速度”。
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 在整本書中被廣泛使用,其獨特的性能特點值得我們新開一章來討論。
對我而言,軟件性能是一種激情和呼喚,貫穿了我的整個職業生涯。關於性能,我深有體會,性能無法自動優化,我們也無法在最後時刻棄它而去。另一方面,不要過分擔心性能,才能集中精力在真正需要的性能工作上。這並非自相矛盾,設定一個合理的基礎性能水平,通常情況下軟件都是能夠達到的,這樣就免去了大部分時間都在對性能擔憂的困擾。
簡而言之,本書是關於如何出色完美地提升軟件執行效率的一本書。

目次

目錄
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
基本類型 ...

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 517
海外經銷商無庫存,到貨日平均30天至45天

暢銷榜

客服中心

收藏

會員專區