Review Request: faster kmd5

Jaime Torres Amate jtamate at gmail.com
Sun Jul 31 18:28:59 BST 2011


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/102165/
-----------------------------------------------------------

Review request for kdelibs.


Summary
-------

I think the private methods can be changed without chaning the binary interface..
In that case, I've changed some kmd5 methods to make them const, and pass const numbers.
Also, in the transform method I've added register to the a,b,c,d variables, changing the FF, GG, HH ad II to return qint32 (hopefully in a register also).

In any case, the memset at the end of transform can be avoided. 
There is also a little change to not declare and inicialize and never use a variable in quotedprintable.


Diffs
-----

  kdecore/text/kcodecs.h 023a129 
  kdecore/text/kcodecs.cpp ce0e48d 

Diff: http://git.reviewboard.kde.org/r/102165/diff


Testing
-------

Running kphotoalbum maintenance|Recalculate checksum, that makes extensive use of kmd5, under callgrind, it shows that the new version is faster.
At least in an AMD64.
In the old way, FF, GG, HH and II calls in the transform method took 1,10%; 1,07%; 1,00%; 1,03%  +0,33% passing parameters
In the new way, FF, GG, HH and II calls in the transform method take 0,83%; 0,80%; 0,76%; 0,78%  +0,21% passing parameters

I've tried also the kmd5benchmarktest, but I do not understand very well the results (or if they are as accurate as callgrind).


Thanks,

Jaime Torres

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20110731/6c017e10/attachment.htm>


More information about the kde-core-devel mailing list