𝔖 Scriptorium
✦   LIBER   ✦

πŸ“

IOS and macOS performance tuning: Cocoa, Cocoa Touch, Objective-C, and swift

✍ Scribed by Weiher, Marcel


Publisher
Pearson Education Limited (US titles);Addison-Wesley
Year
2017
Tongue
English
Series
Developer's library
Category
Library

⬇  Acquire This Volume

No coin nor oath required. For personal study only.

✦ Synopsis


In iOS and macOSβ„’ Performance Tuning, Marcel Weiher drills down to the code level to help you systematically optimize CPU, memory, I/O, graphics, and program responsiveness in any Objective-C, Cocoa, or CocoaTouch program. This guide focuses entirely on performance optimization for macOS and iOS. Drawing on more than 25 years of experience optimizing Apple device software, Weiher identifies concrete performance problems that can be discovered empirically via measurement. Then, based on a deep understanding of fundamental principles, he presents specific techniques for solving them. Weiher presents insights you won't find anywhere else, most of them applying to both macOS and iOS development. Throughout, he reveals common pitfalls and misconceptions about Apple device performance, explains the realities, and helps you reflect those realities in code that performs beautifully. --Amazon

✦ Table of Contents


About the Author xv Introduction xvii Chapter 1: CPU: Principles 1 A Simple Example 2 The Power of Hybrids 10 Trends 11 Cost of Operations 12 Computational Complexity 14 Summary 16 Chapter 2: CPU: Measurement and Tools 17 Command-Line Tools 18 Xcode Gauges 22 Instruments 22 Internal Measurement 35 Dtrace 38 Optimization Beyond the Call of Duty 38 Summary 39 Chapter 3: CPU: Pitfalls and Techniques 41 Representation 41 Objects 48 Messaging 64 Methods 71 Multicore 72 Mature Optimization 75 Chapter 4: CPU Example: XML Parsing 79 An HTML Scanner 80 Mapping Callbacks to Messages 83 Objects 85 Objects, Cheaply 87 Evaluation 90 Tune-Ups 93 Optimizing the Whole Widget: MAX 94 MAX Implementation 96 Summary 97 Chapter 5: Memory: Principles 99 The Memory Hierarchy 99 Mach Virtual Memory 105 Heap and Stack 106 Resource Management 113 Summary 117 Chapter 6: Memory: Measurement and Tools 119 Xcode Gauges 119 Command-Line Tools 120 Internal Measurement 125 Memory Instruments 126 Summary 136 Chapter 7: Memory: Pitfalls and Techniques 137 Reference Counting 137 Foundation Objects vs. Primitives 141 Smaller Structures 142 Memory and Concurrency 146 Architectural Considerations 147 Temporary Allocations and Object Caching 151 NSCache and libcache 153 Memory-Mapped Files 153 madvise 156 iOS Considerations 157 Optimizing ARC 157 Summary 160 Chapter 8: Memory Example: FilterStreams 161 Unix Pipes and Filters 161 Object-Oriented Filters 163 DescriptionStream 164 Stream Hierarchy 170 Summary 171 Chapter 9: Swift 173 Swift Performance: Claims 173 Assessing Swift Performance 177 Larger Examples 188 Compile Times 191 Optimizer-Oriented Programming 195 A Sufficiently Smart Compiler 197 Summary 204 Chapter 10: I/O: Principles 205 Hardware 205 Operating System 208 Summary 214 Chapter 11: I/O: Measurement and Tools 215 Negative Space: top and time 216 Summary Information: iostat and netstat 217 Instruments 218 Detailed Tracing: fs_usage 221 Summary 224 Chapter 12: I/O: Pitfalls and Techniques 225 Pushing Bytes with NSData 225 Unixy I/O 230 Network I/O 232 Serialization 242 CoreData 253 SQLite 261 Event Posting 264 Segregated Stores 265 Summary 266 Chapter 13: I/O: Examples 267 iPhone Game Dictionary 267 Fun with Property Lists 271 Comma-Separated Values 282 Public Transport Schedule Data 283 Faster CSV Parsing 288 Summary 293 Chapter 14: Graphics and UI: Principles 295 Responsiveness 295 Software and APIs 296 Quartz and the PostScript Imaging Model 299 OpenGL 300 Metal 301 Graphics Hardware and Acceleration 301 From Quartz Extreme to Core Animation 305 Summary 308 Chapter 15: Graphics and UI: Measurement and Tools 309 CPU Profiling with Instruments 310 Quartz Debug 311 Core Animation Instrument 312 What Am I Measuring? 318 Summary 323 Chapter 16: Graphics and UI: Pitfalls and Techniques 325 Pitfalls 325 Techniques 326 Too Much Communication Slows Down Installation 327 Overwhelming an iPhone 330 It's Just an Illusion 332 Line Drawing on iPhone 338 Summary 341 Chapter 17: Graphics and UI: Examples 343 Beautiful Weather App 343 Wunderlist 3 350 Summary 357 Index 359

✦ Subjects


Application software $x Development;Application software--Development;Mobile computing;Objective-C (Computer program language);Software frameworks;Swift (Computer program language);iOS (Electronic resource);Mac OS;Cocoa (Software framework);Application software -- Development


πŸ“œ SIMILAR VOLUMES


iOS and macOS Performance Tuning: Cocoa,
✍ Marcel Weiher πŸ“‚ Library πŸ“… 2017 πŸ› Addison-Wesley Professional 🌐 English

<p style="margin:0px;">In <i> <b>iOS and macOSβ„’ Performance Tuning,</b> </i> Marcel Weiher drills down to the code level to help you systematically optimize CPU, memory, I/O, graphics, and program responsiveness in any Objective-C, Cocoa, or CocoaTouch program.</p> <p style="margin:0px;">Β </p> <p st

IOS and macOS performance tuning: Cocoa,
✍ Weiher, Marcel πŸ“‚ Library πŸ“… 2017 πŸ› Addison-Wesley 🌐 English

In iOS and macOSβ„’ Performance Tuning, Marcel Weiher drills down to the code level to help you systematically optimize CPU, memory, I/O, graphics, and program responsiveness in any Objective-C, Cocoa, or CocoaTouch program. This guide focuses entirely on performance optimization for macOS and iOS. D

Cocoa and Objective-C
✍ Scott Stevenson πŸ“‚ Library πŸ“… 2010 πŸ› O'Reilly Media 🌐 English

<p>Build solid applications for Mac OS X, iPhone, and iPod Touch, regardless of whether you have basic programming skills or years of programming experience. With this book, you'll learn how to use Apple's Cocoa framework and the Objective-C language through step-by-step tutorials, hands-on exercise

iOS 7 Programming Fundamentals: Objectiv
✍ Matt Neuburg πŸ“‚ Library πŸ“… 2013 πŸ› O'Reilly Media 🌐 English

<DIV><p>If you’re getting started with iOS development, or want a firmer grasp of the basics, this practical guide provides a clear view of its fundamental building blocksβ€”Objective-C, Xcode, and Cocoa Touch. You’ll learn object-oriented concepts, understand how to use Apple’s development tools, and