Profiling & Performance for Fun and Profit
Upcoming SlideShare
Loading in...5
×
 

Profiling & Performance for Fun and Profit

on

  • 327 views

"Profiling & Performance for Fun and Profit" - by Greg Heo. Presented at iOSTO #3 in Toronto, at the Pilot on Jan. 11.

"Profiling & Performance for Fun and Profit" - by Greg Heo. Presented at iOSTO #3 in Toronto, at the Pilot on Jan. 11.

www.gregheo.com

Statistics

Views

Total Views
327
Views on SlideShare
327
Embed Views
0

Actions

Likes
1
Downloads
1
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Profiling & Performance for Fun and Profit Profiling & Performance for Fun and Profit Presentation Transcript

  • Profiling & Performance for fun and profit Greg Heo (@gregheo) 11 January 2012Hi there! @gregheo at the keys. These are the slides and presentation notes from my #iOSTO talk.Please feel free to get in touch if you have any questions or comments.
  • Survey • Developers? • Instruments users? • Profiling enthusiasts?Survey shows: lots of developers; some instruments users (mostly using the “Leaks” tool); and onlya handful of time profiling users.
  • Why to not Profile? • You might not need to!iOS users demand excellent performance. Credit goes to Apple for a well-performing API too. Wedevelopers have very few excuses for poor performance.
  • “Great programmers ship.” – Managers everywhere
  • Why Profile? • The app is slow!Refactoring code (especially other people’s code) is what programmers love doing. Resist! Thinkbug/feature regression and possible delays.
  • “Premature optimization is the root of all evil” – KnuthKnuth said it. Enough said.
  • “Measure twice, cut once” – carpenters?You must have an objective measure. Re-factor and optimize the bottlenecks and hotspots to getthe most value in terms of programmer time invested vs. outcome.
  • Items to note: the playback/recording metaphor; the purple chart shows CPU usage.
  • “Hide system libraries” is handy to hide all those pesky objc_msgSend() calls.
  • The high-level call tree view.
  • Annotated code view. Very handy.
  • Summary • Profile, fix, profile again. • Ship the app already!Profile before and after to verify performance has indeed improved. Use the tools; they’re there tohelp!