Date: Sun, 11 Feb 2001 13:59:30 -0800 From: Kris Kennaway <kris@obsecurity.org> To: Alfred Perlstein <bright@wintelcom.net> Cc: current@FreeBSD.ORG Subject: Re: OpenSSL ASM patch Message-ID: <20010211135930.A91749@mollari.cthul.hu> In-Reply-To: <20010211130243.V3274@fw.wintelcom.net>; from bright@wintelcom.net on Sun, Feb 11, 2001 at 01:02:43PM -0800 References: <20010211094946.A51308@mollari.cthul.hu> <20010211122802.A78975@mollari.cthul.hu> <20010211124707.S3274@fw.wintelcom.net> <20010211125042.B79375@mollari.cthul.hu> <20010211130243.V3274@fw.wintelcom.net>
next in thread | previous in thread | raw e-mail | index | archive | help
--rwEMma7ioTxnRzrJ Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Feb 11, 2001 at 01:02:43PM -0800, Alfred Perlstein wrote: > * Kris Kennaway <kris@obsecurity.org> [010211 12:52] wrote: > > On Sun, Feb 11, 2001 at 12:47:07PM -0800, Alfred Perlstein wrote: > >=20 > > > Looks awesome, someone complained that Linux was able to maintain > > > an order of magnitude more SSL connections than FreeBSD, since you > > > say this gives us a 3-5x speed up, I'd really like to see it committed > > > and ported to -stable ASAP. > >=20 > > Yep! Just want to give a few days for people to comment on the > > MACHINE_CPU thing. > >=20 > > > Is it possible to have multiple ASM cores and use the appropriate > > > routines? Or must it all be choosen at compile time? > >=20 > > It's done at compile-time. >=20 > bah, lame. :( >=20 > How is the worst asm code vs the best C code again? OpenSSL includes 386 and 586 asm for the following: bf, bn (number libraries), cast, des, md5, rc4, rc5, ripemd, sha1. and 686 asm for bf only (DES is broken) In fact there's not a lot of difference between (what are claimed to be) the i386 versions and the i586 versions (they're generated from the same source by a preprocessor, and in fact are identical for some/most files) - this probably means they are not very optimal. I was also wrong about the speed improvements (they're not quite so high, only around 2x) - perhaps my baseline benchmark was sharing the CPU with something else giving it a 2x slowdown. So I'm not sure where the 3-5x speed up comes from - either it's another rumour (you didn't hear it from Peter again, did you? :) or the cause is elsewhere. What we build now should be exactly in line with what openssl does itself. These measurements were done on my PPro 233, and no attempt at sample averaging was performed :-) Kris [C code] type 8 bytes 64 bytes 256 bytes 1024 bytes 8192 byt= es md2 159.52k 437.09k 590.38k 647.48k 653.= 41k mdc2 405.46k 440.38k 439.93k 442.00k 442.= 93k md4 2415.06k 12806.00k 24615.33k 32313.88k 35873.= 96k md5 1888.65k 9092.61k 16840.50k 20897.62k 22739.= 51k hmac(md5) 741.81k 4722.98k 11755.58k 18427.53k 22120.= 47k sha1 1319.27k 3052.54k 6990.83k 10423.14k 11986.= 67k rmd160 846.12k 3629.76k 6249.11k 7644.14k 8178.= 40k rc4 13176.13k 17308.64k 18127.45k 18709.00k 18527.= 01k des cbc 2589.75k 2911.96k 2918.99k 2930.14k 2961.= 85k des ede3 719.78k 751.80k 758.33k 758.61k 761.= 84k idea cbc 0.00 0.00 0.00 0.00 0.= 00 rc2 cbc 1476.49k 1540.60k 1551.96k 1547.98k 1571.= 13k rc5-32/12 cbc 6533.14k 8820.63k 9144.01k 9159.59k 9189.= 25k blowfish cbc 3921.72k 4490.54k 4551.53k 4567.12k 4582.= 91k cast cbc 3725.39k 4496.47k 4425.20k 4432.26k 4461.= 36k sign verify sign/s verify/s rsa 512 bits 0.0106s 0.0011s 94.5 951.4 rsa 1024 bits 0.0620s 0.0034s 16.1 296.7 rsa 2048 bits 0.3963s 0.0112s 2.5 89.4 rsa 4096 bits 2.6106s 0.0389s 0.4 25.7 sign verify sign/s verify/s dsa 512 bits 0.0109s 0.0134s 91.5 74.6 dsa 1024 bits 0.0342s 0.0406s 29.3 24.6 [i386] type 8 bytes 64 bytes 256 bytes 1024 bytes 8192 byt= es md5 2525.24k 13682.82k 26954.24k 34031.00k 38153.= 23k hmac(md5) 952.04k 6381.75k 17338.03k 29527.15k 37320.= 02k sha1 1621.91k 6960.45k 11626.82k 13810.67k 14685.= 97k rmd160 1238.63k 5838.79k 10350.12k 12930.47k 13941.= 05k rc4 18170.79k 24351.64k 25941.40k 26300.99k 26613.= 25k des cbc 4743.99k 5342.60k 5377.98k 5406.58k 5379.= 56k des ede3 1809.64k 1903.68k 1908.81k 1921.80k 1928.= 79k rc5-32/12 cbc 11934.06k 15701.79k 16004.71k 16014.24k 16569.= 98k blowfish cbc 5885.08k 6493.90k 6553.44k 6575.91k 6569.= 06k cast cbc 5889.94k 6558.54k 6578.21k 6627.23k 6571.= 16k sign verify sign/s verify/s rsa 512 bits 0.0057s 0.0005s 174.2 1822.0 rsa 1024 bits 0.0299s 0.0016s 33.4 641.4 rsa 2048 bits 0.1757s 0.0052s 5.7 193.5 rsa 4096 bits 1.1865s 0.0179s 0.8 55.8 sign verify sign/s verify/s dsa 512 bits 0.0057s 0.0068s 176.4 146.8 dsa 1024 bits 0.0157s 0.0185s 63.8 54.1 dsa 2048 bits 0.0503s 0.0621s 19.9 16.1 [i586] type 8 bytes 64 bytes 256 bytes 1024 bytes 8192 byt= es md5 2588.19k 13504.14k 26623.31k 35248.59k 38189.= 04k hmac(md5) 946.51k 6358.38k 17134.34k 29501.74k 37456.= 10k sha1 1616.66k 7562.68k 13581.01k 16957.68k 18224.= 95k rmd160 1265.14k 5918.43k 10375.20k 12866.01k 13842.= 36k rc4 18405.78k 24232.61k 25611.99k 25964.78k 26504.= 73k des cbc 4800.96k 5321.68k 5351.02k 5421.37k 5358.= 96k des ede3 1829.59k 1903.18k 1915.56k 1914.43k 1907.= 37k rc5-32/12 cbc 11815.49k 15352.52k 15709.59k 16072.66k 16316.= 64k blowfish cbc 7099.84k 8148.80k 8255.26k 8310.07k 8332.= 21k cast cbc 6991.88k 8031.58k 8116.97k 8118.18k 8196.= 42k sign verify sign/s verify/s rsa 512 bits 0.0057s 0.0006s 175.6 1814.9 rsa 1024 bits 0.0296s 0.0016s 33.8 643.1 rsa 2048 bits 0.1749s 0.0052s 5.7 193.8 rsa 4096 bits 1.1860s 0.0179s 0.8 55.7 sign verify sign/s verify/s dsa 512 bits 0.0057s 0.0069s 176.8 145.9 dsa 1024 bits 0.0157s 0.0188s 63.9 53.3 dsa 2048 bits 0.0503s 0.0624s 19.9 16.0 [i686] blowfish cbc 7449.80k 8656.35k 8900.01k 8913.19k 8932.= 08k Kris --rwEMma7ioTxnRzrJ Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.4 (FreeBSD) Comment: For info see http://www.gnupg.org iD8DBQE6hwtBWry0BWjoQKURAknKAKDxwzgHD9xV017pAdpmdJOhDRRymQCfcKiR xIYW+h/QzgM3jjSWYCuvyGo= =+c43 -----END PGP SIGNATURE----- --rwEMma7ioTxnRzrJ-- To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20010211135930.A91749>