[plasma-framework] src/plasma: Look up dataengines in kf5/plasma/dataengines
Git commit 5b33844a0b9e49759289dc839a31c0bc8f417d37 by Sebastian Kügler. Committed on 25/09/2013 at 23:34. Pushed by sebas into branch 'master'. Look up dataengines in kf5/plasma/dataengines This changes the path where to find dataengines to the subdirectory-per-servicetype setup. Note: You'll need to update and reinstall kde-workspace/plasma, to install the dataengines into the new path. CCMAIL:plasma-devel@kde.org M +1-1src/plasma/pluginloader.cpp http://commits.kde.org/plasma-framework/5b33844a0b9e49759289dc839a31c0bc8f417d37 diff --git a/src/plasma/pluginloader.cpp b/src/plasma/pluginloader.cpp index 20a89b4..4991492 100644 --- a/src/plasma/pluginloader.cpp +++ b/src/plasma/pluginloader.cpp @@ -117,7 +117,7 @@ QString PluginLoaderPrivate::parentAppConstraint(const QString parentApp) PluginLoader::PluginLoader() : d(new PluginLoaderPrivate) { -d-pluginDir = kf5; +d-pluginDir = kf5/plasma/dataengine; d-isDefaultLoader = false; } ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: [plasma-framework] src/plasma: Look up dataengines in kf5/plasma/dataengines
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? -- Aaron J. Seigo ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel
Re: [plasma-framework] src/plasma: Look up dataengines in kf5/plasma/dataengines
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
Re: [plasma-framework] src/plasma: Look up dataengines in kf5/plasma/dataengines
On Thursday, September 26, 2013 04:21:21 Sebastian Kügler wrote: 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. oh wow, that is not encouraging. :/ i’m suddenly less enthused by this idea. 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. problem is that 100-300ms on a high end machine is not acceptable. given that we load plugins at various times during execution based on user interaction, this will not just impact on startup, but during runtime. without a cache we’d end up having to do something truly fun like put the lookups in a thread, keeping an in-memory cache ... not something i expect we can ask of every application developer, either. basically what dfaure said in the kf5-devel thread. he also noted that it would be possible to use a cache that is updated when the item gets put on disk. e.g. as part of “make install”. that would be rather fantastic and probably resolve the issue entirely. -- Aaron J. Seigo ___ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel