View Issue Details

IDProjectCategoryView StatusLast Update
0004198Slicer4Module Welcomepublic2018-03-02 11:06
Reporterjcfr Assigned Topieper  
PrioritynormalSeverityminorReproducibilityhave not tried
Status closedResolutionfixed 
Product Version 
Target VersionSlicer 4.6.0Fixed in VersionSlicer 4.6.0 
Summary0004198: Welcome: The module impact startup times more than any other module
Description

See screenshot below generated using:

  • Script "Applications/SlicerApp/Testing/Python/MeasureStartupTimes.py"

  • Notebook "05_SlicerStartupTimes.ipynb" [1]

[1] http://nbviewer.jupyter.org/github/jcfr/jupyter-notebooks/blob/master/05_SlicerStartupTimes.ipynb

TagsNo tags attached.

Related Changesets

Import 2017-06-07 23:51:09: master 9cf170a4

2016-05-21 06:13:32

jcfr

Details Diff
PERF: Reduce startup time by lazily loading Welcome module HTML. Fixes 0004198

This commit reduces startup time by 0000020:0000030% (5.5s -> 3.9s).

Results obtained for a release build on Ubuntu 15.10, 64GB/M.2 PCIe
NVMe SSD/Quad Core 3.80GHz.

While loading the Welcome module is still slower (~10ms), the improvement
is significant.


Details Stats:


Notes: MeasureStartupTimes.py has been locally modified to avoid generating
Modules.json. Modules.json has been updated to list only 4 modules.


$ ~/Projects/Slicer/Applications/SlicerApp/Testing/Python/MeasureStartupTimes.py --excluding-one-module -n5 ./Slicer

[1/4]
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore EventBroker
1/5: 3.81s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore EventBroker
2/5: 3.81s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore EventBroker
3/5: 3.79s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore EventBroker
4/5: 3.82s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore EventBroker
5/5: 3.84s
Average: 3.81s

[2/4]
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore GradientAnisotropicDiffusion
1/5: 3.84s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore GradientAnisotropicDiffusion
2/5: 3.83s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore GradientAnisotropicDiffusion
3/5: 3.83s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore GradientAnisotropicDiffusion
4/5: 3.75s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore GradientAnisotropicDiffusion
5/5: 3.85s
Average: 3.82s

[3/4]
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore Welcome
1/5: 3.70s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore Welcome
2/5: 3.75s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore Welcome
3/5: 3.73s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore Welcome
4/5: 3.76s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore Welcome
5/5: 3.68s
Average: 3.72s

[4/4]
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore CompareVolumes
1/5: 3.78s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore CompareVolumes
2/5: 3.78s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore CompareVolumes
3/5: 3.80s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore CompareVolumes
4/5: 3.82s
Slicer --no-splash --exit-after-startup --testing --modules-to-ignore CompareVolumes
5/5: 3.76s
Average: 3.79s

git-svn-id: http://svn.slicer.org/Slicer4/trunk@25104 3bd1e089-480b-0410-8dfb-8563597acbee
mod - Modules/Loadable/SlicerWelcome/Resources/UI/qSlicerWelcomeModuleWidget.ui Diff File
mod - Modules/Loadable/SlicerWelcome/qSlicerWelcomeModuleWidget.cxx Diff File
mod - Modules/Loadable/SlicerWelcome/qSlicerWelcomeModuleWidget.h Diff File

Issue History

Date Modified Username Field Change
2016-05-21 02:39 jcfr New Issue
2016-05-21 02:39 jcfr Status new => assigned
2016-05-21 02:39 jcfr Assigned To => jcfr
2016-05-21 02:41 jcfr File Added: 2016.05.21_Slicer-Welcome-Module_Impact-Startup.png
2016-05-21 02:48 jcfr Description Updated View Revisions
2016-05-21 06:16 jcfr Note Added: 0013890
2016-05-21 06:16 jcfr Status assigned => resolved
2016-05-21 06:16 jcfr Fixed in Version => Slicer 4.6.0
2016-05-21 06:16 jcfr Resolution open => fixed
2016-05-21 06:16 jcfr File Added: 2016.05.21_StartupTimes_with_WelcomeModuleImprovement.png
2017-06-10 08:51 jcfr Changeset attached => Slicer master 9cf170a4
2017-10-03 10:38 pieper Assigned To jcfr => pieper
2018-03-02 11:06 jcfr Status resolved => closed