Revision 636734

Go back to digest for 25th February 2007

Optimization in Networking Tools

Martijn Klingens committed changes in /branches/KDE/3.5/kdenetwork/kopete:

Major optimization of the code used by formatStyleKeywords().

In practice this makes the following cases a LOT faster:
* Opening a chat with large amounts of 'old' messages from history
* Browsing history in the chat window with alt-left/right
* Updating the chat window someone changes avatar
* Updating the chat window when switching style

Performance improvement initially is about 30% due to optimized
Kopete::Message::plainBody() code for determining whether the message is left-to-right or not.

Each subsequent call on the same messages will be even about 60% faster because the LTR value is cached.

In practice the code is unfortunately still quite slow, but the massive improvement is already quite noticable.

Reviewed and approved by Will, also tested against the unit tests.

File Changes

Modified 3 files
  • /branches/KDE/3.5/kdenetwork/kopete
  •   /libkopete/kopetemessage.cpp
  •   /libkopete/kopetemessage.h
  •   /kopete/chatwindow/chatmessagepart.cpp
3 files changed in total