[Kde-pim] Akonadi & QtDBus multi-threading support

Thiago Macieira thiago at kde.org
Thu Feb 1 16:15:39 GMT 2007


Tobias Koenig wrote:
>That's ok, I've a checkout of qt-x11-bleeding here...
>
>> The good news is that it'll come with a lot of optimisations I made
>> during the month of January.
>
>Sounds good, which kind of optimisations?

Some of them your check out now has, because Simon & Marius have been 
merging my patches. But not everything.

The most important ones are:
- cache slot lookups between calls (most important)
- avoid sending unnecessary messages on the bus during the connection 
startup
- avoid reentering some expensive code paths because of the 
objectDestroyed() signal
- better cache some variables
- use QStringRef when decomposing the path, so as to avoid creating 
QString temporaries and especially calling QString::split

Altogether, I believe the optimisations make the creation of a connection 
drop from 8 million instructions to ~3 million (callgrind numbers). The 
slot cache improves incoming method calls by an incredible amount (I 
don't remember the numbers).

-- 
  Thiago Macieira  -  thiago (AT) macieira.info - thiago (AT) kde.org
    PGP/GPG: 0x6EF45358; fingerprint:
    E067 918B B660 DBD1 105C  966C 33F5 F005 6EF4 5358
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://mail.kde.org/pipermail/kde-pim/attachments/20070201/a35a0f41/attachment.sig>
-------------- next part --------------
_______________________________________________
kde-pim mailing list
kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
kde-pim home page at http://pim.kde.org/


More information about the kde-pim mailing list