Difference between revisions of "Slicer3:Performance Analysis"
From NAMIC Wiki
Line 73: | Line 73: | ||
== Sample Files == | == Sample Files == | ||
− | + | oprofile: | |
* [[Slicer3:Performance_Analysis/Sample1|oprofile; run Slicer3 and exit]] | * [[Slicer3:Performance_Analysis/Sample1|oprofile; run Slicer3 and exit]] | ||
* [[Slicer3:Performance_Analysis/Sample2|oprofile; run Slicer3, load DICOM, exit]] | * [[Slicer3:Performance_Analysis/Sample2|oprofile; run Slicer3, load DICOM, exit]] | ||
+ | |||
+ | KCachegrind: | ||
+ | * [[Slicer3:Performance_Analysis/KCache1|KCachegrind; run Slicer3, load DICOM, exit]] | ||
+ | * [[Slicer3:Performance_Analysis/Kcache2|KCachegrind; run Slicer3, load DICOM, exit]] |
Revision as of 17:30, 28 December 2006
Home < Slicer3:Performance AnalysisSlicer3 |
---|
Contents
Slicer 3 Performance Analysis
We are looking into performance analysis on the Slicer3 codebase in order to streamline execution where possible, identify parts of the program to optimize, and determine which parts of Slicer3 are using the most system resources. We are currently in the process of determining which profilers to use on the various Slicer platforms.
Tools
Statistical Profilers
- GNU gprof
- gprof is not a good profiler for our needs because it doesn't support profiling multithreaded code.
- oprofile
- Shark 4 (OSX)
Profilers for Multi-threaded Applications
- Intel's VTune for Linux ($)
- TAU
- Threadmon: Thread usage/blockage
- TotalView ($)
- PerfSuite (POSIX Threads)
- GProf work-around for multi-threaded apps
- References on multi-threaded profiling and code optimization
Runtime Instrumentation
An initial valgrind suppressions file for slicer is in subversion. It includes an example command line to run it with slicer that also uses the VTK, ITK, KWWidgets suppression files.
Targets
- DICOM reader / GDCM
- vtkITK
- ImageReslice
- ITK resampler w/ deformable transform
Sample Files
oprofile:
KCachegrind: