Documentation/Labs/StartupTimeImprovement

From Slicer Wiki
Jump to: navigation, search
Home < Documentation < Labs < StartupTimeImprovement

Current performance

These data are collected after Slicer has been started at least once on the workstation.

  • Default options
$ time ./Slicer --python-code "slicer.app.quit()"

Number of loaded modules: 135

real	0m21.097s
user	0m19.070s
sys	0m1.570s


  • Disable CLI modules
$ time ./Slicer --disable-builtin-cli-modules  --python-code "slicer.app.quit()"

Number of loaded modules: 65 

real	0m12.693s
user	0m11.412s
sys	0m0.727s


  • Disable Loadable modules
$ time ./Slicer --disable-builtin-loadable-modules  --python-code "slicer.app.quit()"

Number of loaded modules: 111 

real	0m18.483s
user	0m16.720s
sys	0m1.149s


  • Disable Scripted modules
$ time ./Slicer --disable-scripted-loadable-modules  --python-code "slicer.app.quit()"

Number of loaded modules: 93 
real	0m14.348s
user	0m12.449s
sys	0m1.385s


  • Disable CLI and Scripted modules
$ time ./Slicer --disable-builtin-cli-modules --disable-scripted-loadable-modules  --python-code "slicer.app.quit()"

Number of loaded modules: 23 

real	0m5.676s
user	0m4.545s
sys	0m0.636s

Current performance with python disabled

Patch: Call this->quit() at the end of qSlicerApplication::handleCommandLineArguments()

  • Default options
$ time ./Slicer --disable-python

Number of loaded modules: 93 

real	0m12.596s
user	0m11.166s
sys	0m0.935s


  • Disabling CLI modules
$ time ./Slicer --disable-python --disable-builtin-cli-modules

Number of loaded modules: 23 

real 	0m4.201s
user	0m3.449s
sys	0m0.252s


  • Disabling Loadable modules
$ time ./Slicer --disable-python --disable-builtin-loadable-modules

Number of loaded modules: 70 

real	0m10.375s
user	0m9.175s
sys	0m0.788s
  • Disabling ALL modules
$ time ./Slicer --disable-python --disable-modules

Number of loaded modules: 1 

real	0m2.158s
user	0m1.465s
sys	0m0.178s