Documentation/Labs/StartupTimeImprovement

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


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

Summary

Revision OS Hard-Drive Default No Welcome No CLI No Loadable No Scripted No CLI, Scripted No CLI, Scripted, Welcome
22800 Ubuntu 13.10 7200rpm 0:21.10 0:20.96 0:12.69 0:18.48 0:14.35 0:05.68 0:04.73
24056 Ubuntu 14.04 SSD 0:14.46 0:14.02 0:07.10 0:12.40 0:11.60 0:06.83 0:04.12

Ubuntu 13.10 / Slicer r22800

Experimental settings:

Ubuntu 13.10
gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
Slicer r22800

Performance

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

Number of loaded modules: 135

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


  • Default options without Welcome module
mv ./lib/Slicer-4.3/qt-loadable-modules/libqSlicerWelcomeModule.so ./lib/Slicer-4.3/qt-loadable-modules/libqSlicerWelcomeModule.so-dis
$ time ./Slicer --python-code "slicer.app.quit()"
Number of loaded modules: 134 

real	0m20.957s
user	0m18.700s
sys	0m1.663s 
  • 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


  • Disable CLI, Scripted modules and Welcome module
mv ./lib/Slicer-4.3/qt-loadable-modules/libqSlicerWelcomeModule.so ./lib/Slicer-4.3/qt-loadable-modules/libqSlicerWelcomeModule.so-dis
$ time ./Slicer --disable-builtin-cli-modules --disable-scripted-loadable-modules  --python-code "slicer.app.quit()"

Number of loaded modules: 22 

real	0m4.730s
user	0m3.722s
sys	0m0.507s

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