D8059: KDevelop: abstractfilemanagerimport benchmark

René J.V. Bertin noreply at phabricator.kde.org
Fri Oct 27 16:44:10 UTC 2017


rjvbb added a comment.


  >   Otherwise, it's interesting to see that QFSWatcher takes so much more CPU time, this should really be profiled and fixed upstream.
  
  That's assuming the KDirWatch wrapper doesn't introduce a lot of additional overhead when using the QFSW backend. But even so, this would make sense if QFSW doesn't use highly optimised kernel features for watching files.
  
  Also, when I compare the results of a recursive KDirWatch::addDir that adds dirs and files with my optimised implementation that watches only directories, the difference is negligible with the iNotify backend. I don't know that SDK, but one explanation would be that it handles individual file monitoring via a shared monitor on the enclosing directory.
  
  I did introduce a small inaccuracy in the commit message: the test gcc source tree is not on a HDD but on an SSD (mounted over USB3 and Thunderbolt). The results loading the project from the internal HDD are worse:
  
    > time abstractfilemanagerpluginimportbenchmark gcc-7.2.0
    KDirWatch backend: QFSWatch
    Starting import of project gcc-7.2.0
            creating dirwatcher took 115.008 seconds
    importing project 0 took 3.793 seconds
    Done in 118.802 seconds total
    105.242 user_cpu 12.118 kernel_cpu 2:01.32 total_time 96.7%CPU

REPOSITORY
  R32 KDevelop

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

To: rjvbb, #kdevelop, mwolff
Cc: mwolff, kdevelop-devel, geetamc, Pilzschaf, akshaydeo, surgenight, arrowdodger
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kdevelop-devel/attachments/20171027/7d11d94e/attachment.html>


More information about the KDevelop-devel mailing list