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
