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