[plasma-framework] src/plasma: Look up dataengines in kf5/plasma/dataengines

Sebastian Kügler sebas at kde.org
Thu Sep 26 02:21:21 UTC 2013


On Thursday, September 26, 2013 01:50:54 Aaron J. Seigo wrote:
> On Wednesday, September 25, 2013 23:43:43 Sebastian Kügler wrote:
> > This changes the path where to find dataengines to the
> > subdirectory-per-servicetype setup.
> 
> for shit’s ‘n giggles: has anyone done any performance profiling of this
> new  system?

Yes: It's slower. I've run some tests on both, SSD and rotating rust 
with small, large, and huge plugin directories. In the best case (warm 
caches, reasonable directory size), we're within an order of magnitude of 
ksycoca (800%). Obviously, keeping the number of plugins per directory small 
makes it faster.

You can find numbers of the SSD runs in my email "Plugin locator performance 
ballpark" to kde-frameworks-devel from September, 5. I haven't cleaned up my 
measurements on rotating metal.

Especially on startup of Plasma, we'll get quite a performance hit. I think we 
can avoid that in part by caching the KPluginInfo::Lists for maybe just a few 
seconds in Plasma::PluginLoader. That means that most of our consecutive 
queries run over cached lists, making them orders of magnitude faster. That 
should save a hell of a lot of IO during start-up, while keeping memory usage 
in check.

Bottom line, if we're still not happy with the performance, we might need an 
on-disk cache in KPluginTrader, but the complexity of keeping that up to date 
with a system as flexible, dynamic and component-driven as Plasma, is 
something, say, "worth avoiding".

Cheers,
-- 
sebas

http://www.kde.org | http://vizZzion.org | GPG Key ID: 9119 0EF9


More information about the Plasma-devel mailing list