<table><tr><td style="">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/D8043" rel="noreferrer">View Revision</a></tr></table><br /><div><div><p>In a (big) nutshell: <a href="https://phabricator.kde.org/D7995" style="background-color: #e7e7e7;
          border-color: #e7e7e7;
          border-radius: 3px;
          padding: 0 4px;
          font-weight: bold;
          color: black;text-decoration: none;" rel="noreferrer">D7995</a>.</p>

<p>KDevelop currently uses a single KDirWatch per open project that is fed with a single <tt style="background: #ebebeb; font-size: 13px;">addDir</tt> call which adds all folders under the project directory (and all files, which it shouldn't).<br />
This is fine on Linux when the Inotify method is used, but can become very costly when the QFSWatch method is used (always, on Mac). The actual import of the project directory is done on a background thread (1 per project), and it would make sense to let it feed individual directories to the KDirWatch at the same time. The KDirWatch signals are still received and handled by the main thread.</p>

<p>Using a KDirWatch per thread would still mean that they can be accessing the shared QFSW instance concurrently.</p></div></div><br /><div><strong>REPOSITORY</strong><div><div>R244 KCoreAddons</div></div></div><br /><div><strong>REVISION DETAIL</strong><div><a href="https://phabricator.kde.org/D8043" rel="noreferrer">https://phabricator.kde.org/D8043</a></div></div><br /><div><strong>To: </strong>rjvbb, Frameworks, mwolff, dfaure<br /><strong>Cc: </strong>dfaure, mwolff, kde-frameworks-devel<br /></div>