This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/19923] New: openssl is slower when compiled with gcc 4.0 than 3.3
- From: "gj at pointblue dot com dot pl" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 12 Feb 2005 15:30:17 -0000
- Subject: [Bug c/19923] New: openssl is slower when compiled with gcc 4.0 than 3.3
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
here's openssl speed resoult when it's compiled with 3.3 (orginal debian
unstable package):
options:bn(64,32) md2(int) rc4(idx,int) des(ptr,risc1,16,long) aes(partial)
blowfish(idx)
compiler: gcc -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H
-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DOPENSSL_NO_MDC2 -DOPENSSL_NO_RC5
-DL_ENDIAN -DTERMIO -O3 -march=i686 -mcpu=i686 -fomit-frame-pointer -Wall
-DSHA1_ASM -DMD5_ASM -DRMD160_ASM
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md2 510.80k 1064.79k 1486.96k 1641.83k 1702.87k
mdc2 0.00 0.00 0.00 0.00 0.00
md4 4999.47k 17746.97k 51392.88k 97451.59k 131711.89k
md5 4405.95k 15208.16k 43027.34k 77946.11k 101040.96k
hmac(md5) 4951.58k 16851.67k 46126.90k 81002.65k 101700.77k
sha1 3892.54k 12223.89k 29586.19k 45767.99k 54082.03k
rmd160 3715.14k 10397.52k 23079.49k 33148.87k 37651.83k
rc4 58941.98k 66899.63k 71733.39k 72572.54k 72476.92k
des cbc 13353.92k 13897.80k 14067.26k 14088.53k 14107.61k
des ede3 4887.63k 5039.28k 5083.63k 5116.70k 5086.58k
idea cbc 0.00 0.00 0.00 0.00 0.00
rc2 cbc 5257.37k 5534.13k 5560.97k 5610.12k 5582.42k
rc5-32/12 cbc 0.00 0.00 0.00 0.00 0.00
blowfish cbc 21054.83k 22340.34k 22704.49k 22895.90k 22860.91k
cast cbc 14478.39k 15882.31k 16400.99k 16570.03k 16585.01k
aes-128 cbc 13612.33k 14364.39k 14382.68k 14404.12k 14440.26k
aes-192 cbc 12075.70k 12370.43k 12530.49k 12518.63k 12559.92k
aes-256 cbc 10806.91k 11093.65k 11179.27k 11185.67k 11205.97k
sign verify sign/s verify/s
rsa 512 bits 0.0023s 0.0002s 438.5 4928.2
rsa 1024 bits 0.0109s 0.0006s 91.6 1746.1
rsa 2048 bits 0.0646s 0.0019s 15.5 527.6
rsa 4096 bits 0.4317s 0.0066s 2.3 152.0
sign verify sign/s verify/s
dsa 512 bits 0.0018s 0.0022s 546.0 460.7
dsa 1024 bits 0.0054s 0.0065s 186.6 154.8
dsa 2048 bits 0.0179s 0.0220s 55.7 45.5
and here's the same package compiled with gcc 4.0,
gcc-4.0 (GCC) 4.0.0 20050212 (experimental)
compiler: gcc -fPIC -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H
-DOPENSSL_NO_KRB5 -DOPENSSL_NO_IDEA -DO
PENSSL_NO_MDC2 -DOPENSSL_NO_RC5 -DL_ENDIAN -DTERMIO -O3 -march=i686 -mcpu=i686
-fomit-frame-pointer -Wall -DSHA1_ASM
-DMD5_ASM -DRMD160_ASM
available timing options: TIMES TIMEB HZ=100 [sysconf value]
timing function used: times
The 'numbers' are in 1000s of bytes per second processed.
type 16 bytes 64 bytes 256 bytes 1024 bytes 8192 bytes
md2 361.81k 781.01k 1103.19k 1231.36k 1278.84k
mdc2 0.00 0.00 0.00 0.00 0.00
md4 3103.64k 11338.88k 36135.04k 79292.67k 123123.36k
md5 2758.32k 10084.74k 31863.54k 66522.25k 98860.02k
hmac(md5) 4581.08k 15784.49k 43771.66k 78227.60k 101959.42k
sha1 2638.72k 8889.12k 24063.88k 41890.99k 53462.15k
rmd160 2477.15k 7918.19k 19696.52k 31106.04k 37317.88k
rc4 60284.27k 67543.46k 71379.34k 72455.38k 72581.12k
des cbc 13547.77k 13876.64k 14049.67k 14102.25k 14020.78k
des ede3 4950.20k 5050.99k 5068.80k 5111.00k 5088.06k
idea cbc 0.00 0.00 0.00 0.00 0.00
rc2 cbc 5814.75k 6060.45k 6150.37k 6169.60k 6196.13k
rc5-32/12 cbc 0.00 0.00 0.00 0.00 0.00
blowfish cbc 20941.23k 22373.68k 22868.43k 22822.28k 23014.29k
cast cbc 12790.60k 14102.95k 14514.24k 14494.77k 14622.21k
aes-128 cbc 13030.43k 13549.49k 13653.51k 13694.85k 13696.33k
aes-192 cbc 11257.66k 11517.92k 11545.25k 11604.32k 11568.43k
aes-256 cbc 10065.01k 10296.48k 10403.82k 10332.02k 10382.25k
sign verify sign/s verify/s
rsa 512 bits 0.0024s 0.0002s 418.5 4201.7
rsa 1024 bits 0.0112s 0.0006s 89.5 1550.7
rsa 2048 bits 0.0650s 0.0020s 15.4 504.9
rsa 4096 bits 0.4311s 0.0068s 2.3 147.9
sign verify sign/s verify/s
dsa 512 bits 0.0019s 0.0023s 521.4 441.9
dsa 1024 bits 0.0055s 0.0067s 182.9 148.3
dsa 2048 bits 0.0181s 0.0222s 55.2 45.1
as you can see almost each test is worst with 4.0.
Not sure why. The same test on ultrasparc and amd64 shows 4.0 as clear winner.
( Althou it still crashes on amd64... ;) )
--
Summary: openssl is slower when compiled with gcc 4.0 than 3.3
Product: gcc
Version: 4.0.0
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gj at pointblue dot com dot pl
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: i86
GCC host triplet: i86
GCC target triplet: i86
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19923