<table><tr><td style="">rjvbb created this revision.<br />rjvbb added a reviewer: KDevelop.<br />rjvbb added a project: KDevelop.<br />Restricted Application added a subscriber: kdevelop-devel.
</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/D8579" rel="noreferrer">View Revision</a></tr></table><br /><div><strong>REVISION SUMMARY</strong><div><p>This change makes it possible to benchmark project import with the Project Filter plugin activated. The patch exploits the fact that the plugin won't be available when the core engine is initialised without GUI (Core::NoUI); a simple place-dependent commandline argument is used to activate filter support by controlling the TestCore initialisation.</p>

<p>I'm not entirely certain of the interest of this change. The benchmark was written in the context of improving the dirwatching set-up. In the current implementation of that feature, the project filter has no control whatsoever over which elements get to be watched or not and the benchmark will only show the filter overhead on project import *after* the dirwatching set-up.<br />
In the implementation I hope to propose, only directories actually loaded into the project get to be watched, which means the filter is applied before KDirWatch::addDir() in a regular KDevelop session. Separating filtering overhead from the gain of not dirwatching "invalid" directories will be tricky in that implementation.<br />
In addition, this uses a default Project Filter configuration, as far as I have been able to figure out.</p>

<p>This change could thus just as well be part of my improved dirwatching patch?</p></div></div><br /><div><strong>TEST PLAN</strong><div><p>If possible, set up the Project Filter in a controlled way, for instance such that it will reject an in-tree <tt style="background: #ebebeb; font-size: 13px;">build</tt> directory (and not just the *.o files in there).</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R32 KDevelop</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8579" rel="noreferrer">https://phabricator.kde.org/D8579</a></div></div><br /><div><strong>AFFECTED FILES</strong><div><div>kdevplatform/project/tests/abstractfilemanagerpluginimportbenchmark.cpp</div></div></div><br /><div><strong>To: </strong>rjvbb, KDevelop<br /><strong>Cc: </strong>kdevelop-devel, njensen, geetamc, Pilzschaf, akshaydeo, surgenight, arrowdodger<br /></div>