bring speed back into KConfig

Dirk Mueller mueller at kde.org
Tue Apr 15 16:59:41 CEST 2008


Hi, 

the "knotify4 eats cpu" bugreport seems to be highly popular, so the reason 
for that seems to be the incredible performance loss in KConfigIni  due to 
the "kconfig refactoring branch" being merged last autumn by Andreas Pakulat. 

The code now uses highlevel QByteArray operations and even worse QFile 
operations for operating on the .ini files. My testcase of kwin.notifyrc, 
this means: 

2000 lines of config

resulting in

16000 ~QByteArray() and 16000 QByteArray() constructions
6000 syscalls (stat() and 2x llseek()) due to QFile::readLine and 
QFile::atEof()
8000 memcpy operations

in time: 

150ms KConfig4
45ms  via QSettings of Qt 4.4
29ms via KConfig3

I think thats a bit under performing. Anyone interested in fixing the hot 
spots in that code? I think it is fairly obvious why the code is extremely 
slow. I wanted to take a look at it myself but I guess I'll run out of time 
before I get anywhere. 

Thanks,
Dirk


More information about the Kde-optimize mailing list