Difference between revisions of "AHM2013-Performance Evaluation Tools"

From NAMIC Wiki
Jump to: navigation, search
 
(3 intermediate revisions by 2 users not shown)
Line 9: Line 9:
 
==Background==
 
==Background==
 
Users often (rightly) request performance improvements to improve usability.  Developers often have ideas about code that they suspect is consuming the time, and begin to code.  But sometimes performance bottlenecks are in unexpected places that can only be quantified with detailed performance assessment tools.  These tools can also help measure the impact of code changes.
 
Users often (rightly) request performance improvements to improve usability.  Developers often have ideas about code that they suspect is consuming the time, and begin to code.  But sometimes performance bottlenecks are in unexpected places that can only be quantified with detailed performance assessment tools.  These tools can also help measure the impact of code changes.
 +
 +
From a user perspective time critical steps include:
 +
* starting the application (from double-click to ready to use)
 +
* loading data (from clicking OK to data appears)
 +
* saving data (from clicking save to ready for next operation)
 +
* rendering
 +
** interactive drag-rotate time
 +
** time from mouse click to new view (e.g. change in visibility)
  
 
==Topics==
 
==Topics==
Line 18: Line 26:
 
** changes to hierarchy visibility
 
** changes to hierarchy visibility
 
** DICOM loading
 
** DICOM loading
* Discussion of User Priorities for Performance Optimization
+
* Discussion of user priorities for performance optimization
  
 
== Instruments on the Mac ==
 
== Instruments on the Mac ==
Line 26: Line 34:
 
image:AHM2013-Instruments-startup.png|<big>Pick the Time Profiler to sample the CPU and call stack</big>
 
image:AHM2013-Instruments-startup.png|<big>Pick the Time Profiler to sample the CPU and call stack</big>
 
image:AHM2013-Instruments-pick-target.png|<big>With the Choose Target... option you can pick either an existing running application, or you can specify a program to run when you start profiling.  You can also specify command line options and environment variables.</big>
 
image:AHM2013-Instruments-pick-target.png|<big>With the Choose Target... option you can pick either an existing running application, or you can specify a program to run when you start profiling.  You can also specify command line options and environment variables.</big>
 +
image:AHM2013-Instruments-review-timings.png|<big>Instruments will give you a browsable timeline showing where the time was spent.</big>
 
</gallery>
 
</gallery>

Latest revision as of 17:45, 3 January 2013

Home < AHM2013-Performance Evaluation Tools
Back to AHM main page

Panel

  • Jim
  • Steve
  • Hans
  • JC

Background

Users often (rightly) request performance improvements to improve usability. Developers often have ideas about code that they suspect is consuming the time, and begin to code. But sometimes performance bottlenecks are in unexpected places that can only be quantified with detailed performance assessment tools. These tools can also help measure the impact of code changes.

From a user perspective time critical steps include:

  • starting the application (from double-click to ready to use)
  • loading data (from clicking OK to data appears)
  • saving data (from clicking save to ready for next operation)
  • rendering
    • interactive drag-rotate time
    • time from mouse click to new view (e.g. change in visibility)

Topics

  • Performance assessment tools: survey of methods and tools across platforms
  • Demo of the Instruments package on Mac to evaluate time usage in slicer4
  • Review of time-critical points in slicer (as time permits)
    • application startup
    • loading data
    • changes to hierarchy visibility
    • DICOM loading
  • Discussion of user priorities for performance optimization

Instruments on the Mac

Example Run to test slicer startup time