Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Session 409 - Learning Instruments
Search
wwdcman
August 27, 2012
160
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Session 409 - Learning Instruments
wwdcman
August 27, 2012
More Decks by wwdcman
See All by wwdcman
Session 412 - Debugging with Xcode
wwdcman
0
150
Session 404 - Building from the Command Line with Xcode
wwdcman
0
180
Session 306 - Integrating With Facebook, Twitter and Sina Weibo
wwdcman
0
240
Session 230 - Advanced Attributed Strings for iOS
wwdcman
0
120
Session 228 - Best Practices for Mastering Auto Layout
wwdcman
0
1.7k
Session 227 - Using iCloud with Core Data
wwdcman
0
330
Session 226 - Core Text and Fonts
wwdcman
0
160
Session 225 - Up and Running: Making a Great Impression with Every Launch
wwdcman
0
150
Session 224 - Using iCloud with NSDocument
wwdcman
0
370
Featured
See All Featured
YesSQL, Process and Tooling at Scale
rocio
174
15k
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Why You Should Never Use an ORM
jnunemaker
PRO
61
10k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.7k
RailsConf 2023
tenderlove
30
1.6k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Navigating Team Friction
lara
192
16k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
68
60k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
670
GraphQLとの向き合い方2022年版
quramy
50
15k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.2k
Transcript
These are confidential sessions—please refrain from streaming, blogging, or taking
pictures Profiling your App Session 409 Learning Instruments David M. O’Rourke Performance Tools Engineering Manager
What You’ll Learn Today
What You’ll Learn Today •Elements of performance
What You’ll Learn Today •Elements of performance •Methodology to improve
performance
What You’ll Learn Today •Elements of performance •Methodology to improve
performance •Instruments tour
What You’ll Learn Today •Elements of performance •Methodology to improve
performance •Instruments tour •iOS App optimization demonstrations
What Is Performance?
None
None
None
None
None
None
"Crashes all the time" "Crashes all the time"
None
None
None
Performance Is a Feature of Your App
Performance Is a Feature of Your App •Xcode to author/build
your app
Performance Is a Feature of Your App •Xcode to author/build
your app •Interface Builder to design your app
Performance Is a Feature of Your App •Xcode to author/build
your app •Interface Builder to design your app •Instruments to profile your app ▪ Optimize performance ▪ Reduces crashes and terminations ▪ Can improve power usage
Performance Profile Process
Debug Process
Debug Process Reproduce the problem
Debug Process Reproduce the problem Debug and inspect logs
Debug Process Reproduce the problem Form a hypothesis Debug and
inspect logs
Debug Process Reproduce the problem Form a hypothesis Make a
change Debug and inspect logs
Debug Process Reproduce the problem Form a hypothesis Make a
change Debug and inspect logs
Profile Process
Profile Process Reproduce the problem
Profile Process Reproduce the problem Profile with tools
Profile Process Form a hypothesis Reproduce the problem Profile with
tools
Profile Process Form a hypothesis Make a change Reproduce the
problem Profile with tools
Profile Process Form a hypothesis Make a change Reproduce the
problem Profile with tools
Where Can I Find Instruments?
Where Can I Find Instruments?
How Do I Access Instruments?
How Do I Access Instruments?
How Do I Access Instruments?
How Do I Access Instruments? •Pro Tip ▪ Right-click and
choose Keep in Dock
Instruments Tour
Document Model and Templates
Tour
Tour Toolbar
Tour Strategies
Tour Timeline
Tour Details
Tour Extended Details
Toolbar
Toolbar
Toolbar
Toolbar Target menu
Toolbar Target menu
Toolbar
Toolbar
Toolbar
Toolbar
Toolbar
Toolbar
Timeline Instrument strategy
Timeline Threads strategy
Timeline CPU strategy
Timeline and Filtering System Trace
Detail Pane Call Tree
Detail Pane Call Tree
Detail Pane Sample List
Detail Pane Source code
Detail Pane Source code
Detail Pane Disassembly
Detail Pane System Calls
Detail Pane Activity summary
Instruments
Demo Time Profiler example Joe Grzywacz Performance Tools Engineering
Use Call Tree
Use Call Tree
Use Thread Strategy
Use Thread Strategy
Use CPU Strategy
Demo Memory profiling example Victor Hernandez Performance Tools Engineering
Use Cycles and Roots
Use Allocations
Use Allocations
Closing Thoughts…
Profile Process
Profile Process Reproduce the problem
Profile Process Reproduce the problem Profile with tools
Profile Process Form a hypothesis Reproduce the problem Profile with
tools
Profile Process Form a hypothesis Make a change Reproduce the
problem Profile with tools
Profile Process Form a hypothesis Make a change Reproduce the
problem Profile with tools
Instruments Templates Used
Instruments Templates Used 3 Improvements 2 Improvements
Can Profile Virtually Anything
Can Profile Virtually Anything
"Fantastic and Fast" "Fantastic and Fast"
"Must buy this app" "Must buy this app"
None
None
None
More Information Michael Jurewitz Developer Tools Evangelist
[email protected]
Instruments Documentation
Instruments User Guide (Xcode Documentation) Instruments New Features User Guide Apple Developer Forums http://devforums.apple.com
Related Sessions iOS App Performance: Responsiveness Presidio Thursday 11:30AM iOS
App Performance: Graphics and Animations Presidio Thursday 3:15PM iOS App Performance: Memory Presidio Thursday 4:30PM
Labs Xcode Lab Developer Tools Lab B Ongoing
None
None
None
None