After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 656332 - Slow startup
Slow startup
Status: RESOLVED FIXED
Product: pitivi
Classification: Other
Component: General
Git
Other Linux
: Normal normal
: 0.91
Assigned To: Pitivi maintainers
Pitivi maintainers
Depends on:
Blocks:
 
 
Reported: 2011-08-11 10:50 UTC by Jean-François Fortin Tam
Modified: 2011-12-25 03:59 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
profile graph (967.78 KB, image/png)
2011-08-11 10:50 UTC, Jean-François Fortin Tam
Details
cprofile output (529.74 KB, application/octet-stream)
2011-08-11 10:52 UTC, Jean-François Fortin Tam
Details
profile graph (0.14.91) (800.12 KB, image/png)
2011-09-14 19:16 UTC, Jean-François Fortin Tam
Details
cprofile output (0.14.91) (536.02 KB, application/octet-stream)
2011-09-14 19:16 UTC, Jean-François Fortin Tam
Details

Description Jean-François Fortin Tam 2011-08-11 10:50:30 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.
Comment 1 Jean-François Fortin Tam 2011-08-11 10:52:43 UTC
Created attachment 193629 [details]
cprofile output
Comment 2 Jean-François Fortin Tam 2011-09-14 19:16:00 UTC
Created attachment 196533 [details]
profile graph (0.14.91)
Comment 3 Jean-François Fortin Tam 2011-09-14 19:16:27 UTC
Created attachment 196534 [details]
cprofile output (0.14.91)
Comment 4 Jean-François Fortin Tam 2011-09-15 15:56:48 UTC
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...
Comment 5 Jean-François Fortin Tam 2011-12-25 03:59:16 UTC
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.