D7742: KDevelop projects: optional use of KDirWatch and defer it and parser start to after project loading
René J.V. Bertin
noreply at phabricator.kde.org
Sat Sep 9 21:21:10 UTC 2017
rjvbb updated this revision to Diff 19343.
rjvbb added a comment.
fixed the timing code (sorry about that).
Some updated timing results, Mac & Linux, a session containing projects for KDevPlatform & KDevelop (5.1 branch) & Purpose, and using full project parse + dir watching.
On Mac
Deferred:
kdevplatform.shell: All projects imported in 4.772 seconds
kdevplatform.shell: creating dir watchers and/or starting parse jobs took an additional 1.525 seconds
kdevplatform.shell: All projects imported in 4.737 seconds
kdevplatform.shell: creating dir watchers and/or starting parse jobs took an additional 1.594 seconds
Non-deferred:
kdevplatform.shell: Project "purpose-git" imported in 2.954 seconds
kdevplatform.shell: "purpose-git" : creating dir watchers and/or starting parse jobs took an additional 0.338 seconds
kdevplatform.shell: Project "kf5-kdevplatform-devel (MP)" imported in 1.668 seconds
kdevplatform.shell: "kf5-kdevplatform-devel (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.474 seconds
kdevplatform.shell: Project "kf5-kdevelop-5 (MP)" imported in 1.926 seconds
kdevplatform.shell: "kf5-kdevelop-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.703 seconds
total import time: 6.548
kdevplatform.shell: Project "purpose-git" imported in 3.064 seconds
kdevplatform.shell: "purpose-git" : creating dir watchers and/or starting parse jobs took an additional 0.316 seconds
kdevplatform.shell: Project "kf5-kdevplatform-devel (MP)" imported in 1.662 seconds
kdevplatform.shell: "kf5-kdevplatform-devel (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.477 seconds
kdevplatform.shell: Project "kf5-kdevelop-5 (MP)" imported in 2.091 seconds
kdevplatform.shell: "kf5-kdevelop-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.668 seconds
total import time: 6.817
after deleting the cache dir:
kdevplatform.shell: Project "purpose-git" imported in 2.849 seconds
kdevplatform.shell: "purpose-git" : creating dir watchers and/or starting parse jobs took an additional 0.333 seconds
kdevplatform.shell: Project "kf5-kdevplatform-devel (MP)" imported in 1.548 seconds
kdevplatform.shell: "kf5-kdevplatform-devel (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.467 seconds
kdevplatform.shell: Project "kf5-kdevelop-5 (MP)" imported in 1.961 seconds
kdevplatform.shell: "kf5-kdevelop-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.707 seconds
total import time: 6.403
kdevplatform.shell: Project "purpose-git" imported in 3.096 seconds
kdevplatform.shell: "purpose-git" : creating dir watchers and/or starting parse jobs took an additional 0.405 seconds
kdevplatform.shell: Project "kf5-kdevplatform-devel (MP)" imported in 1.762 seconds
kdevplatform.shell: "kf5-kdevplatform-devel (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.478 seconds
kdevplatform.shell: Project "kf5-kdevelop-5 (MP)" imported in 2.25 seconds
kdevplatform.shell: "kf5-kdevelop-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.69 seconds
total import time: 7.108
On Linux:
deferred:
kdevplatform.shell: All projects imported in 12.181 seconds
kdevplatform.shell: creating dir watchers and/or starting parse jobs took an additional 0.452 seconds
kdevplatform.shell: All projects imported in 11.927 seconds
kdevplatform.shell: creating dir watchers and/or starting parse jobs took an additional 0.75 seconds
Non deferred:
kdevplatform.shell: Project "purpose" imported in 7.142 seconds
kdevplatform.shell: "purpose" : creating dir watchers and/or starting parse jobs took an additional 0.008 seconds
kdevplatform.shell: Project "kf5-kdevplatform-5 (MP)" imported in 1.57 seconds
kdevplatform.shell: "kf5-kdevplatform-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.26 seconds
kdevplatform.shell: Project "kf5-kdevelop-5 (MP)" imported in 4.055 seconds
kdevplatform.shell: "kf5-kdevelop-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.299 seconds
total import time: 12.767
kdevplatform.shell: Project "purpose" imported in 7.075 seconds
kdevplatform.shell: "purpose" : creating dir watchers and/or starting parse jobs took an additional 0.009 seconds
kdevplatform.shell: Project "kf5-kdevplatform-5 (MP)" imported in 1.583 seconds
kdevplatform.shell: "kf5-kdevplatform-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.223 seconds
kdevplatform.shell: Project "kf5-kdevelop-5 (MP)" imported in 3.483 seconds
kdevplatform.shell: "kf5-kdevelop-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.091 seconds
total import time: 12.141
after deleting the cache dir:
kdevplatform.shell: Project "purpose" imported in 6.644 seconds
kdevplatform.shell: "purpose" : creating dir watchers and/or starting parse jobs took an additional 0.013 seconds
kdevplatform.shell: Project "kf5-kdevplatform-5 (MP)" imported in 2.409 seconds
kdevplatform.shell: "kf5-kdevplatform-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.244 seconds
kdevplatform.shell: Project "kf5-kdevelop-5 (MP)" imported in 4.619 seconds
kdevplatform.shell: "kf5-kdevelop-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.109 seconds
total import time: 13.672
kdevplatform.shell: Project "purpose" imported in 6.551 seconds
kdevplatform.shell: "purpose" : creating dir watchers and/or starting parse jobs took an additional 0.015 seconds
kdevplatform.shell: Project "kf5-kdevplatform-5 (MP)" imported in 2.427 seconds
kdevplatform.shell: "kf5-kdevplatform-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.235 seconds
kdevplatform.shell: Project "kf5-kdevelop-5 (MP)" imported in 4.256 seconds
kdevplatform.shell: "kf5-kdevelop-5 (MP)" : creating dir watchers and/or starting parse jobs took an additional 0.24 seconds
total import time: 13.234
These results do show a small but significant improvement for the deferred scheme.
CHANGES SINCE LAST UPDATE
https://phabricator.kde.org/D7742?vs=19339&id=19343
REVISION DETAIL
https://phabricator.kde.org/D7742
AFFECTED FILES
kdevplatform/interfaces/iprojectcontroller.cpp
kdevplatform/interfaces/iprojectcontroller.h
kdevplatform/project/abstractfilemanagerplugin.cpp
kdevplatform/project/abstractfilemanagerplugin.h
kdevplatform/shell/projectcontroller.cpp
kdevplatform/shell/projectcontroller.h
kdevplatform/shell/settings/projectconfig.kcfg
kdevplatform/shell/settings/projectpreferences.ui
To: rjvbb, #kdevelop
Cc: kossebau, arrowdodger, brauch, zhigalin, kdevelop-devel, geetamc, Pilzschaf, akshaydeo, surgenight
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20170909/781e3820/attachment.html>
More information about the KDevelop-devel
mailing list