Here's a review for a bignum library amd64 performance improvement. The 
improvement is to use 64- instead of 32-bit chunks (or bignum "digits").  
SPARCv9 already uses 64-bit chunks, but not AMD64.  The change resulted in 
performance improvement ranging from 1.6x-2x faster than before as measured by 
"openssl speed" (below). This speeds up RSA, DSA, and other consumers of the 
bignum library (whether in userland or the kernel).

Please reply by Mon. Feb. 23rd if you can.

Webrev review:
http://dan.drydog.com/reviews/6799218-bignum/

Bugs fixed:
6799218 RSA encrypt()/verify() using Solaris Kernel Crypto framework lagging 
behind OpenSSL
5016936 bignumimpl:big_mul: potential memory leak


Summary: bignum library optimization improvement ranges between 60-100%.
Test (using pkcs11 userland library):
        /usr/sfw/bin/amd64/openssl speed -elapsed -engine pkcs11
Systems:
        clevertown-2.sfbay: Intel Clovertown EM64T 2.1GHz
        ns-x4100-3.sfbay: AMD Opteron AMD64 2.2GHz
BEFORE Intel clevertown-2
                  sign    verify    sign/s verify/s
rsa  512 bits 0.000328s 0.000036s   3046.0  27640.0
rsa 1024 bits 0.001353s 0.000108s    738.9   9278.3
rsa 2048 bits 0.007633s 0.000338s    131.0   2961.4
rsa 4096 bits 0.049029s 0.001230s     20.4    812.9
AFTER Intel clevertown-2
                  sign    verify    sign/s verify/s
rsa  512 bits 0.000207s 0.000023s   4822.8  44180.6
rsa 1024 bits 0.000823s 0.000057s   1215.4  17511.0
rsa 2048 bits 0.004431s 0.000178s    225.7   5628.7
rsa 4096 bits 0.028693s 0.000649s     34.9   1540.8

BEFORE AMD ns-x4100-3
                  sign    verify    sign/s verify/s
rsa  512 bits 0.000371s 0.000039s   2697.2  25582.3
rsa 1024 bits 0.001399s 0.000100s    714.6  10012.6
rsa 2048 bits 0.007038s 0.000302s    142.1   3311.4
rsa 4096 bits 0.043600s 0.001114s     22.9    897.5
AFTER AMD ns-x4100-3
                  sign    verify    sign/s verify/s
rsa  512 bits 0.000209s 0.000023s   4784.8  43083.0
rsa 1024 bits 0.000753s 0.000052s   1328.3  19326.0
rsa 2048 bits 0.003728s 0.000150s    268.2   6669.9
rsa 4096 bits 0.022895s 0.000532s     43.7   1879.0
-- 
This message posted from opensolaris.org

Reply via email to