Hi,
I patched the OpenSSL.pm file again to improve the performance of the
getCertAttribute() method.
The bad part is that I had to change the API of this method. This method is
called from X509.pm constructor - I also fixed this to my needs.
Here is the benchmark :
OLD:
14 wallclock secs ( 0.38 usr 0.63 sys + 7.10 cusr 3.92 csys = 12.03 CPU) @ 39.60/s
(n=40)
13 wallclock secs ( 0.45 usr 0.58 sys + 6.88 cusr 4.03 csys = 11.94 CPU) @ 38.83/s
(n=40)
13 wallclock secs ( 0.55 usr 0.92 sys + 6.71 cusr 3.75 csys = 11.93 CPU) @ 27.21/s
(n=40)
here is the patched one:
NEW:
3 wallclock secs ( 0.27 usr 0.22 sys + 1.69 cusr 0.72 csys = 2.90 CPU) @ 81.63/s
(n=40)
3 wallclock secs ( 0.25 usr 0.21 sys + 1.61 cusr 0.84 csys = 2.91 CPU) @ 86.96/s
(n=40)
3 wallclock secs ( 0.27 usr 0.18 sys + 1.60 cusr 0.86 csys = 2.91 CPU) @ 88.89/s
(n=40)
as you can see, the performance is a lot better now (I created 40 OpenCA::X509
Objects in that benchmark)
I think the performance is quite better but, like I said before, the method call
from getCertAttribute has changed. I browse through the code and the only place
where I found a call of that method was in X509.pm (I patched that too).
What do you guys think about changing the method call ? This might lead into
incompatibility with old implementations (even if I did not found a place where
this method is called).
It's your choice.
--
ciao, Uwe
Uwe Gansert, Product development
SuSE GmbH, Schanzaeckerstr.10, D-90443 Nuernberg, Germany
e-mail: [EMAIL PROTECTED], Tel: +49-(0)911-74053-0,
Fax: +49-(0)911-74053-476, Web: http://www.suse.de
PGP signature