[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-panel-devel
Subject:    Re: [plasma-framework] src/plasma: Look up dataengines in kf5/plasma/dataengines
From:       Sebastian =?ISO-8859-1?Q?K=FCgler?= <sebas () kde ! org>
Date:       2013-09-26 2:21:21
Message-ID: 1768041.BtKZnM95n5 () monet
[Download RAW message or body]

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
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel

[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic