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
To: rjvbb, #kdevelop, mwolff
Cc: mwolff, kdevelop-devel, geetamc, Pilzschaf, akshaydeo, surgenight, arrowdodger
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the KDevelop-devel