D7995: KDevelop: address dirwatching inefficiency (WIP/PoC)

René J.V. Bertin noreply at phabricator.kde.org
Wed Sep 27 21:25:53 UTC 2017


rjvbb updated this revision to Diff 20013.
rjvbb added a comment.


  updated as requested (except for the bit[s] that can go into a dedicated commit) and rebased against the master branch (but developed/tested against the 5.2 branch).
  
  This revision also introduces a benchmark that times low-level project import with concurrent dirwatcher feeding, as much as possible as it would be done in an actual KDevelop session. A single AbstractFileManager instance is used to load all directories passed on the commandline as projects.
  I had to add 2 (protected) methods to `AbstractFileManagerPlugin` : one to query the number of directories being watched. The other method to tell the plugin to "detach" the project. This consists of deleting the project's dirwatcher and stopping associated background jobs and is normally done in reaction to a signal sent from the ProjectController.
  The possibility exists to benchmark the original (current) KDirWatch approach for comparison: set BENCHMARK_ORIGINAL_DIRWATCHER to activate this feature.

CHANGES SINCE LAST UPDATE
  https://phabricator.kde.org/D7995?vs=19960&id=20013

REVISION DETAIL
  https://phabricator.kde.org/D7995

AFFECTED FILES
  kdevplatform/project/CMakeLists.txt
  kdevplatform/project/abstractfilemanagerplugin.cpp
  kdevplatform/project/abstractfilemanagerplugin.h
  kdevplatform/project/filemanagerlistjob.cpp
  kdevplatform/project/filemanagerlistjob.h
  kdevplatform/project/projectwatcher.cpp
  kdevplatform/project/projectwatcher.h
  kdevplatform/project/tests/CMakeLists.txt
  kdevplatform/project/tests/abstractfilemanagerpluginimportbenchmark.cpp

To: rjvbb, #kdevelop, mwolff
Cc: aaronpuchert, arrowdodger, kfunk, dfaure, mwolff, brauch, kdevelop-devel, geetamc, Pilzschaf, akshaydeo, surgenight
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20170927/f594d693/attachment.html>


More information about the KDevelop-devel mailing list