GNOME Bugzilla – Bug 656332
Slow startup
Last modified: 2011-12-25 03:59:16 UTC
Created attachment 193628 [details] profile graph On a modest computer, pitivi is slow to start: about 6 seconds to show the main window, instead of showing up instantly. According to the attached profile, it might be the fact that we probe all the available effects and load about a hundred thumbnails for effects, it might also be a combination of other things.
Created attachment 193629 [details] cprofile output
Created attachment 196533 [details] profile graph (0.14.91)
Created attachment 196534 [details] cprofile output (0.14.91)
Since the stuff in check.py is runtime dependencies (not build dependencies), we should allow packagers to disable it for end-users (but people building it themselves will still have to go through them): 1) in check.py, make a distinction between hard dependencies runtime checks and soft dependencies 2) make a configure variable for controlling whether or not the hard runtime dependencies are checked on startup: --disable-runtime-checks (maybe we could also have a --disable-runtime-soft-dep-checks variable) But still, check.py is not the single major source of startup bloat...
Follow-up to http://jeff.ecchi.ca/blog/2011/09/14/pitivis-startup-time/ : As of today, startup times in the GES version of pitivi are much lower. On Kuze, a warm start requires 1.60 seconds with all the checks enabled and 1.00 second with no initial checks enabled. A cold start from boot requires 11 seconds, no matter if the checks are enabled or not. This is much better than the times from that blog post (warm start = 5 secs, lukewarm start = 15 secs). This seems to me like an acceptable level of startup performance. We should perhaps review check.py to remove stuff that doesn't make sense with GES anymore, but it seems to me that further optimization would be quite difficult, especially given the fact that disabling initial_checks() entirely makes less than a second of difference for both cold and warm startup times.