KActivities library optimizations

Aaron J. Seigo aseigo at kde.org
Wed Sep 5 15:02:26 UTC 2012


On Tuesday, September 4, 2012 16:19:52 Ivan Čukić wrote:
> > one thing i'm not a fan of with the new Consumer approach is that it is
> > impossible to know whether the code will block or not. it does a pre-fetch
> > and then cleverly blocks only if it hasn't received a reply yet. which
> > means there is no way to guarantee async behaviour when desired. as long
> > as
> > the calls to kactivitymanagerd are blazingly fast (and/or Consumer is
> > always created in sufficiently in advance of usage) this is a minor issue.
> 
> Without the blocking. the hell would break loose - it wouldn't be backwards
> compatible and every kactivities client would need to be patched.

according to lxr, that is:

* plasma-desktop shell
* activities DataEngine
* activities Runner
* powerdevil
* plasma-mobile shell
* active web browser
* kwin
* tasks plasmoid
* pager plasmoid
* SLC

(see: http://lxr.kde.org/ident?i=KActivities ... though some of those are uses 
of ResourceInstance which is not affected, e.g. the hits in dolphin)

most of these are pretty trivial uses; the plasma shells are probably the 
biggest amount of work.

as this is the only way to guarantee no blocking anywhere, i think we should 
seriously consider making this shift in v2 of the library (for Frameworks?) at 
the same time we remove the deprecated calls. having looked at the code in 
question, it really isn't a ton of work.

> > > or remove it since we IIRC don't use it in any important place.
> > 
> > but we want to, right?
> 
> Not really. The method that only gets a list and doesn't notify you on
> changes and similar is not that useful in my opinion.

i see it is marked as deprecated, even ... that at least makes one thing 
easier :)

> We need data models for it

sounds good ...

-- 
Aaron J. Seigo
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://mail.kde.org/pipermail/plasma-devel/attachments/20120905/d840b029/attachment.sig>


More information about the Plasma-devel mailing list