Revision d77e169...

Go back to digest for 24th November 2013

Optimization in KDE-PIM

Jan Kundrát committed changes in [trojita] /:

Use QVector for TreeItem child management

This merges a series of commits which try to improve the speed efficiency of
child housekeeping for the in-memory tree which is maintained by the IMAP model.
This is deliberately not squashed into a single commit so that we can later take
a look at which data structure is actually the best one.

Both QVector and std::vector are close contenders; however, in our case QVector
appears to be *slightly* better -- an empty QVector only takes 8 bytes, while an
empty vector takes 24 bytes on my amd64 system. This is a useful optimization on
huge mailboxes as chances are that only a very small subset of messages will be
needed any given time.

std::vector offers slightly better performance, but I'll take the small memeory
saving in this context, I guess.

REVIEW: 114013