[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