session 409 - learning instruments

Upload: foufoutos73

Post on 03-Apr-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/28/2019 Session 409 - Learning Instruments

    1/105

    These are confidential sessionsplease refrain from streaming, blogging, or taking pictures

    Profiling your App

    Session 409

    David M. ORourkePerformance Tools Engineering Manager

  • 7/28/2019 Session 409 - Learning Instruments

    2/105

  • 7/28/2019 Session 409 - Learning Instruments

    3/105

    Elements of performance

  • 7/28/2019 Session 409 - Learning Instruments

    4/105

    Elements of performance

    Methodology to improve performance

  • 7/28/2019 Session 409 - Learning Instruments

    5/105

    Elements of performance

    Methodology to improve performance

    Instruments tour

  • 7/28/2019 Session 409 - Learning Instruments

    6/105

    Elements of performance

    Methodology to improve performance

    Instruments tour iOS App optimization demonstrations

  • 7/28/2019 Session 409 - Learning Instruments

    7/105

  • 7/28/2019 Session 409 - Learning Instruments

    8/105

  • 7/28/2019 Session 409 - Learning Instruments

    9/105

  • 7/28/2019 Session 409 - Learning Instruments

    10/105

  • 7/28/2019 Session 409 - Learning Instruments

    11/105

  • 7/28/2019 Session 409 - Learning Instruments

    12/105

  • 7/28/2019 Session 409 - Learning Instruments

    13/105

  • 7/28/2019 Session 409 - Learning Instruments

    14/105

    "Crashes all the time""Crashes all the time"

  • 7/28/2019 Session 409 - Learning Instruments

    15/105

  • 7/28/2019 Session 409 - Learning Instruments

    16/105

  • 7/28/2019 Session 409 - Learning Instruments

    17/105

  • 7/28/2019 Session 409 - Learning Instruments

    18/105

  • 7/28/2019 Session 409 - Learning Instruments

    19/105

    Xcode to author/build your app

  • 7/28/2019 Session 409 - Learning Instruments

    20/105

    Xcode to author/build your app

    Interface Builder to design your app

  • 7/28/2019 Session 409 - Learning Instruments

    21/105

    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

  • 7/28/2019 Session 409 - Learning Instruments

    22/105

  • 7/28/2019 Session 409 - Learning Instruments

    23/105

  • 7/28/2019 Session 409 - Learning Instruments

    24/105

    Reproduce the problem

  • 7/28/2019 Session 409 - Learning Instruments

    25/105

    Reproduce the problem

    Debug andinspect logs

  • 7/28/2019 Session 409 - Learning Instruments

    26/105

    Reproduce the problem

    Form a hypothesis

    Debug andinspect logs

  • 7/28/2019 Session 409 - Learning Instruments

    27/105

    Reproduce the problem

    Form a hypothesis

    Make a change Debug andinspect logs

  • 7/28/2019 Session 409 - Learning Instruments

    28/105

    Reproduce the problem

    Form a hypothesis

    Make a change Debug andinspect logs

  • 7/28/2019 Session 409 - Learning Instruments

    29/105

  • 7/28/2019 Session 409 - Learning Instruments

    30/105

    Reproduce the problem

  • 7/28/2019 Session 409 - Learning Instruments

    31/105

    Reproduce the problem

    Profile with tools

  • 7/28/2019 Session 409 - Learning Instruments

    32/105

    Form a hypothesis

    Reproduce the problem

    Profile with tools

  • 7/28/2019 Session 409 - Learning Instruments

    33/105

    Form a hypothesis

    Make a change

    Reproduce the problem

    Profile with tools

  • 7/28/2019 Session 409 - Learning Instruments

    34/105

    Form a hypothesis

    Make a change

    Reproduce the problem

    Profile with tools

  • 7/28/2019 Session 409 - Learning Instruments

    35/105

  • 7/28/2019 Session 409 - Learning Instruments

    36/105

  • 7/28/2019 Session 409 - Learning Instruments

    37/105

  • 7/28/2019 Session 409 - Learning Instruments

    38/105

  • 7/28/2019 Session 409 - Learning Instruments

    39/105

  • 7/28/2019 Session 409 - Learning Instruments

    40/105

    Pro Tip Right-click and choose Keep in Dock

  • 7/28/2019 Session 409 - Learning Instruments

    41/105

  • 7/28/2019 Session 409 - Learning Instruments

    42/105

  • 7/28/2019 Session 409 - Learning Instruments

    43/105

  • 7/28/2019 Session 409 - Learning Instruments

    44/105

  • 7/28/2019 Session 409 - Learning Instruments

    45/105

    Strategies

  • 7/28/2019 Session 409 - Learning Instruments

    46/105

    Timeline

  • 7/28/2019 Session 409 - Learning Instruments

    47/105

    Details

  • 7/28/2019 Session 409 - Learning Instruments

    48/105

    ExtendedDetails

  • 7/28/2019 Session 409 - Learning Instruments

    49/105

  • 7/28/2019 Session 409 - Learning Instruments

    50/105

  • 7/28/2019 Session 409 - Learning Instruments

    51/105

  • 7/28/2019 Session 409 - Learning Instruments

    52/105

    Target menu

  • 7/28/2019 Session 409 - Learning Instruments

    53/105

    Target menu

  • 7/28/2019 Session 409 - Learning Instruments

    54/105

  • 7/28/2019 Session 409 - Learning Instruments

    55/105

  • 7/28/2019 Session 409 - Learning Instruments

    56/105

  • 7/28/2019 Session 409 - Learning Instruments

    57/105

  • 7/28/2019 Session 409 - Learning Instruments

    58/105

  • 7/28/2019 Session 409 - Learning Instruments

    59/105

  • 7/28/2019 Session 409 - Learning Instruments

    60/105

  • 7/28/2019 Session 409 - Learning Instruments

    61/105

    Threads strategy

  • 7/28/2019 Session 409 - Learning Instruments

    62/105

  • 7/28/2019 Session 409 - Learning Instruments

    63/105

  • 7/28/2019 Session 409 - Learning Instruments

    64/105

    Call Tree

  • 7/28/2019 Session 409 - Learning Instruments

    65/105

    Call Tree

  • 7/28/2019 Session 409 - Learning Instruments

    66/105

    Sample List

  • 7/28/2019 Session 409 - Learning Instruments

    67/105

  • 7/28/2019 Session 409 - Learning Instruments

    68/105

    Source code

  • 7/28/2019 Session 409 - Learning Instruments

    69/105

    Disassembly

  • 7/28/2019 Session 409 - Learning Instruments

    70/105

    System Calls

  • 7/28/2019 Session 409 - Learning Instruments

    71/105

  • 7/28/2019 Session 409 - Learning Instruments

    72/105

  • 7/28/2019 Session 409 - Learning Instruments

    73/105

    Demo

    Joe GrzywaczPerformance Tools Engineering

  • 7/28/2019 Session 409 - Learning Instruments

    74/105

  • 7/28/2019 Session 409 - Learning Instruments

    75/105

  • 7/28/2019 Session 409 - Learning Instruments

    76/105

  • 7/28/2019 Session 409 - Learning Instruments

    77/105

  • 7/28/2019 Session 409 - Learning Instruments

    78/105

  • 7/28/2019 Session 409 - Learning Instruments

    79/105

    Demo

    Victor HernandezPerformance Tools Engineering

  • 7/28/2019 Session 409 - Learning Instruments

    80/105

  • 7/28/2019 Session 409 - Learning Instruments

    81/105

  • 7/28/2019 Session 409 - Learning Instruments

    82/105

  • 7/28/2019 Session 409 - Learning Instruments

    83/105

  • 7/28/2019 Session 409 - Learning Instruments

    84/105

  • 7/28/2019 Session 409 - Learning Instruments

    85/105

    Reproduce the problem

  • 7/28/2019 Session 409 - Learning Instruments

    86/105

    Reproduce the problem

    Profile with tools

  • 7/28/2019 Session 409 - Learning Instruments

    87/105

    Form a hypothesis

    Reproduce the problem

    Profile with tools

  • 7/28/2019 Session 409 - Learning Instruments

    88/105

  • 7/28/2019 Session 409 - Learning Instruments

    89/105

  • 7/28/2019 Session 409 - Learning Instruments

    90/105

  • 7/28/2019 Session 409 - Learning Instruments

    91/105

  • 7/28/2019 Session 409 - Learning Instruments

    92/105

  • 7/28/2019 Session 409 - Learning Instruments

    93/105

  • 7/28/2019 Session 409 - Learning Instruments

    94/105

    "Fantastic and Fast""Fantastic and Fast"

  • 7/28/2019 Session 409 - Learning Instruments

    95/105

    "Must buy this app""Must buy this app"

  • 7/28/2019 Session 409 - Learning Instruments

    96/105

  • 7/28/2019 Session 409 - Learning Instruments

    97/105

  • 7/28/2019 Session 409 - Learning Instruments

    98/105

  • 7/28/2019 Session 409 - Learning Instruments

    99/105

    Michael JurewitzDeveloper Tools Evangelist

    [email protected]

    Instruments DocumentationInstruments User Guide (Xcode Documentation)Instruments New Features User Guide

    Apple Developer Forumshttp://devforums.apple.com

  • 7/28/2019 Session 409 - Learning Instruments

    100/105

    iOS App Performance: Responsiveness PresidioThursday 11:30AM

    iOS App Performance: Graphics and Animations PresidioThursday 3:15PM

    iOS App Performance: MemoryPresidio

    Thursday 4:30PM

  • 7/28/2019 Session 409 - Learning Instruments

    101/105

    Xcode Lab Developer Tools Lab BOngoing

  • 7/28/2019 Session 409 - Learning Instruments

    102/105

  • 7/28/2019 Session 409 - Learning Instruments

    103/105

  • 7/28/2019 Session 409 - Learning Instruments

    104/105

  • 7/28/2019 Session 409 - Learning Instruments

    105/105