This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Compilation performance comparison of GCC 3.4.2 and GCC 4.0.0 (041024)on MICO sources
- From: Karel Gardas <kgardas at objectsecurity dot com>
- To: GCC Mailing List <gcc at gcc dot gnu dot org>
- Date: Mon, 25 Oct 2004 14:01:24 +0200 (CEST)
- Subject: Compilation performance comparison of GCC 3.4.2 and GCC 4.0.0 (041024)on MICO sources
Hello,
it seems a lot happened from my last test:
http://gcc.gnu.org/ml/gcc/2004-08/msg01594.html
Below you will find recent test results. Some notes about them are:
1) -O0 is _GREAT_! It's about 25% speedup in comparison with 3.4.2. The
only issue is with ir.cc file where we have 32% regression. The
problem is probably with very high memory usage (4.0.0 consumes about
250MB of RAM on my 512MB box when compiling this file)
2) -O1 is about 5% slower, some interesting regressions are
typecode.cc(23%), static.cc(29%) and again ir.cc (44%)
3) -O2 is also about 4% slower, regressions (the most
important/interesting) are: static.cc(32%) and ir.cc(39%). Interesting
is 41% speedup on typecode here while it regress badly on -O1
As a first possible step, I would like to propose solving ir.cc
regressions, since if you do it, even -O1/-O2 compilation will be faster
in comparison with 3.4.2 (ir.cc is 580kB long generated file)
Generally, it looks really promissing, and I will need to test how does it
work with -O0 -g to see if it is well replacement for my current 3.4.2.
Thanks to you all folks for this great work!
Karel
--
Karel Gardas kgardas@objectsecurity.com
ObjectSecurity Ltd. http://www.objectsecurity.com
File 342-O0 400-O0 Delta% 342-O1 400-O1 Delta% 342-O2 400-O2 Delta%
os-unix.cc 4.17 3.3 26.36 4.61 3.85 19.74 4.62 4.19 10.26
dii.cc 12.36 8.69 42.23 14.06 14.67 -4.16 16.8 18.28 -8.1
typecode.cc 9.09 7.65 18.82 13.53 17.73 -23.69 32.95 23.29 41.48
any.cc 6.88 5.59 23.08 9.41 11.31 -16.8 13.38 15.07 -11.21
codec.cc 5.92 4.7 25.96 7.76 8.37 -7.29 9.56 10.99 -13.01
buffer.cc 3.32 2.67 24.34 3.59 3.01 19.27 3.72 3.3 12.73
context.cc 3.61 2.93 23.21 3.91 3.59 8.91 4.24 4 6
except.cc 4.46 3.49 27.79 5.05 4.36 15.83 6.22 5.7 9.12
dispatch.cc 4.51 3.59 25.63 4.92 4.36 12.84 4.97 4.94 0.61
string.cc 3.41 2.64 29.17 3.52 2.91 20.96 3.44 2.97 15.82
object.cc 4.71 3.92 20.15 6.02 6 0.33 7.2 7.01 2.71
address.cc 5.3 4.01 32.17 6.54 5.01 30.54 7.39 5.73 28.97
ior.cc 12.12 8.16 48.53 14.63 11.48 27.44 16.83 13.22 27.31
orb.cc 16.51 12.03 37.24 25.68 27.55 -6.79 37.77 35.24 7.18
boa.cc 8.73 6.84 27.63 11.94 12.49 -4.4 14.55 15.87 -8.32
dsi.cc 9.91 6.91 43.42 11.53 9.62 19.85 12.41 11.07 12.1
transport.cc 4.09 3.19 28.21 4.44 3.57 24.37 4.6 3.84 19.79
t..port/tcp.cc 4.11 3.12 31.73 4.37 3.68 18.75 4.45 4.06 9.61
t..port/udp.cc 4.19 3.21 30.53 4.5 3.85 16.88 4.77 4.28 11.45
t..port/unix.cc 4.06 3.14 29.3 4.41 3.68 19.84 4.42 3.98 11.06
iop.cc 16.03 11.93 34.37 22.13 24.26 -8.78 29.44 32.63 -9.78
util.cc 6 4.72 27.12 8.02 7.9 1.52 10.29 9.63 6.85
basic_seq.cc 3.84 3.22 19.25 4 3.9 2.56 3.9 4.4 -11.36
fast_array.cc 3.92 2.96 32.43 4.04 3.09 30.74 3.92 3.17 23.66
ssl.cc 8.95 5.79 54.58 9.12 5.81 56.97 8.67 5.75 50.78
fixed.cc 3.75 3.12 20.19 4.16 3.83 8.62 4.31 4.33 -0.46
intercept.cc 9.86 7.09 39.07 11.44 9.79 16.85 12.15 11.27 7.81
codeset.cc 5.95 4.66 27.68 7.47 7.99 -6.51 10.16 10.6 -4.15
queue.cc 4.4 3.49 26.07 4.73 3.87 22.22 4.8 4.15 15.66
static.cc 19.93 15.63 27.51 24.6 34.77 -29.25 29.24 43.49 -32.77
current.cc 8.54 5.52 54.71 8.64 5.61 54.01 8.39 5.63 49.02
policy_impl.cc 12.37 8.55 44.68 13.68 12.64 8.23 15.35 14.54 5.57
service_info.cc 8.53 5.49 55.37 8.58 5.63 52.4 8.26 5.49 50.46
ioptypes.cc 10.32 7.32 40.98 12.44 9.92 25.4 13.51 11.24 20.2
ssliop.cc 8.7 5.7 52.63 8.91 5.78 54.15 8.54 5.65 51.15
value.cc 10.93 7.04 55.26 11.8 8.86 33.18 12.39 10 23.9
valuetype.cc 9.51 6.6 44.09 10.34 8.43 22.66 10.99 9.34 17.67
v..type_impl.cc 12.13 8.79 38 12.81 12.71 0.79 13.6 14.88 -8.6
dynany_impl.cc 10.71 9.22 16.16 16.2 20.41 -20.63 24.22 26.63 -9.05
policy2.cc 8.84 5.64 56.74 8.95 5.91 51.44 8.79 6.02 46.01
tckind.cc 8.54 5.51 54.99 8.56 5.55 54.23 8.28 5.46 51.65
orb_excepts.cc 8.63 5.63 53.29 8.85 5.8 52.59 8.62 5.88 46.6
policy.cc 8.61 5.55 55.14 8.83 5.77 53.03 8.59 5.77 48.87
poa.cc 12.62 8.87 42.28 15.02 14.6 2.88 17.66 17.77 -0.62
poa_base.cc 9.85 7.06 39.52 10.63 8.51 24.91 11.47 9.46 21.25
poa_impl.cc 17.24 12.92 33.44 22.86 25.66 -10.91 30.02 32.66 -8.08
dynany.cc 9.91 6.82 45.31 10.7 8.94 19.69 11.63 9.8 18.67
uni_base64.cc 0.12 0.12 0 0.18 0.21 -14.29 0.26 0.28 -7.14
uni_unicode.cc 0.2 0.19 5.26 0.29 0.34 -14.71 0.44 0.5 -12
uni_fromuni.cc 0.4 0.38 5.26 0.61 0.79 -22.78 1.13 1.21 -6.61
uni_touni.cc 0.44 0.42 4.76 0.71 0.92 -22.83 1.26 1.33 -5.26
except2.cc 6.69 5.58 19.89 10.41 12.83 -18.86 13.32 16.4 -18.78
pi.cc 11.11 7.49 48.33 12.51 10.73 16.59 13.29 12.44 6.83
pi_impl.cc 18.77 14.2 32.18 23.55 24.99 -5.76 30.82 30.39 1.41
typecode_seq.cc 8.88 5.93 49.75 9.31 6.96 33.76 9.18 7.5 22.4
timebase.cc 8.56 5.5 55.64 8.78 5.7 54.04 8.5 5.68 49.65
ir.cc 47.17 69.26 -31.89 72.42 129.49 -44.07 100.1 165.27 -39.43
ir_base.cc 11.59 8.1 43.09 13.29 13.97 -4.87 15.63 16.7 -6.41
imr.cc 14.37 11.49 25.07 18.38 21.12 -12.97 25.2 26.53 -5.01
mtdebug.cc 3.82 2.94 29.93 3.9 3.05 27.87 3.78 3 26
Sum 522.19 416.22 25.46 636.27 668.13 -4.77 774.39 809.9 -4.38