<table><tr><td style="">rjvbb updated this revision to Diff 20013.<br />rjvbb added a comment.
</td><a style="text-decoration: none; padding: 4px 8px; margin: 0 8px 8px; float: right; color: #464C5C; font-weight: bold; border-radius: 3px; background-color: #F7F7F9; background-image: linear-gradient(to bottom,#fff,#f1f0f1); display: inline-block; border: 1px solid rgba(71,87,120,.2);" href="https://phabricator.kde.org/D7995" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>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).</p>

<p>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.<br />
I had to add 2 (protected) methods to <tt style="background: #ebebeb; font-size: 13px;">AbstractFileManagerPlugin</tt> : 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.<br />
The possibility exists to benchmark the original (current) KDirWatch approach for comparison: set BENCHMARK_ORIGINAL_DIRWATCHER to activate this feature.</p></div></div><br /><div><strong>CHANGES SINCE LAST UPDATE</strong><div><a href="https://phabricator.kde.org/D7995?vs=19960&id=20013" rel="noreferrer">https://phabricator.kde.org/D7995?vs=19960&id=20013</a></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D7995" rel="noreferrer">https://phabricator.kde.org/D7995</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>kdevplatform/project/CMakeLists.txt<br />
kdevplatform/project/abstractfilemanagerplugin.cpp<br />
kdevplatform/project/abstractfilemanagerplugin.h<br />
kdevplatform/project/filemanagerlistjob.cpp<br />
kdevplatform/project/filemanagerlistjob.h<br />
kdevplatform/project/projectwatcher.cpp<br />
kdevplatform/project/projectwatcher.h<br />
kdevplatform/project/tests/CMakeLists.txt<br />
kdevplatform/project/tests/abstractfilemanagerpluginimportbenchmark.cpp</div></div></div><br /><div><strong>To: </strong>rjvbb, KDevelop, mwolff<br /><strong>Cc: </strong>aaronpuchert, arrowdodger, kfunk, dfaure, mwolff, brauch, kdevelop-devel, geetamc, Pilzschaf, akshaydeo, surgenight<br /></div>