Re: Review Request: faster kmd5

2011-08-01 Thread Volker Krause

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


The point of kmd5benchmarktest was to show that QCryptographicHash is about 2x 
faster than KMd5 IIRC, with the idea to deprecate KMd5 in favor of that in KDE 
Frameworks 5.

- Volker


On July 31, 2011, 5:28 p.m., Jaime Torres Amate wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/102165/
 ---
 
 (Updated July 31, 2011, 5:28 p.m.)
 
 
 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
 




Review Request: faster kmd5

2011-07-31 Thread Jaime Torres Amate

---
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



Re: Review Request: faster kmd5

2011-07-31 Thread Rolf Eike Beer

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



kdecore/text/kcodecs.cpp
http://git.reviewboard.kde.org/r/102165/#comment4785

Please remove this register keyword. In best case the compiler moves this 
value into a register where he had placed it anyway. But usually you force a 
value into a register that the compiler could use for something better.


- Rolf Eike


On July 31, 2011, 5:28 p.m., Jaime Torres Amate wrote:
 
 ---
 This is an automatically generated e-mail. To reply, visit:
 http://git.reviewboard.kde.org/r/102165/
 ---
 
 (Updated July 31, 2011, 5:28 p.m.)
 
 
 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