Hello,
it's been a while since my last comparison of various GCC's compilation
performance on MICO sources. A lot happened in GCC development since
then and so I'm here with more up-to-date measurements. This time I've
used MICO 2.3.12 release sources and again measured time of
compilation of orb subdirectory files. I've compared my GCC 4.0.1
release with GCC 4.1.0 20060210 prerelease on AMD64 generating code
for this platform. Whole tables are below, but overall results are,
that 4.1.0 is slower on all compilations (sums) while using
-O0/1/2/3/s optimization levels, actual numbers are:
-O0: -4%
-O1: -21%
-O2: -19%
-O3: -19%
-Os: -9%
since I don't know current GCC policy for considering compilation
performance regressions, I'm not able to judge what's regression and
not. Anyway, interested developers might look into the tables below
and if they need more details ask me to provide more information.
Cheers,
Karel
PS: time is measured in seconds, numbers are provided by -time GCC
option.
File 401-O0 410-O0 Delta% 401-O1 410-O1 Delta% 401-O2
410-O2 Delta%
os-unix.cc 1.29 1.29 0 1.09 1.81 -66.06 1.15
1.24 -7.83
dii.cc 2.87 3 -4.53 3.6 4.13 -14.72 4.08
4.63 -13.48
typecode.cc 2.25 2.37 -5.33 4.8 5.42 -12.92 5.76
6.4 -11.11
any.cc 1.65 1.71 -3.64 2.52 2.85 -13.1 3.07
3.68 -19.87
codec.cc 1.41 1.46 -3.55 2.04 2.1 -2.94 2.5
2.79 -11.6
buffer.cc 0.82 0.82 0 0.89 0.93 -4.49 0.99
1.03 -4.04
context.cc 0.87 0.87 0 1.02 1.12 -9.8 1.11
1.23 -10.81
except.cc 1.12 1.14 -1.79 1.46 1.62 -10.96 1.56
1.63 -4.49
dispatch.cc 1.27 1.29 -1.57 1.48 1.66 -12.16 1.47
1.74 -18.37
string.cc 0.8 0.8 0 0.87 0.87 0 0.87
0.92 -5.75
object.cc 1.14 1.19 -4.39 1.63 1.98 -21.47 1.88
2.27 -20.74
address.cc 1.22 1.24 -1.64 1.59 1.83 -15.09 1.77
2.03 -14.69
ior.cc 2.92 3 -2.74 3.76 4.32 -14.89 4.25
4.81 -13.18
orb.cc 3.9 4.28 -9.74 7.27 11 -51.31 9.17
13.3 -45.04
dsi.cc 1.92 2.02 -5.21 1.92 2.29 -19.27 2.25
2.42 -7.56
transport.cc 1.03 1.05 -1.94 1.01 1.24 -22.77 1.25
1.33 -6.4
transport/tcp.cc 0.98 0.98 0 1.08 1.12 -3.7 1.16
1.22 -5.17
transport/udp.cc 1 1.01 -1 1.1 1.17 -6.36 1.2
1.24 -3.33
transport/unix.cc 0.95 0.97 -2.11 1.06 1.1 -3.77 1.12
1.15 -2.68
iop.cc 3.78 3.87 -2.38 6.2 7.5 -20.97 7.8
9.18 -17.69
util.cc 1.5 1.55 -3.33 2.3 3.26 -41.74 2.73
3.84 -40.66
basic_seq.cc 0.94 0.98 -4.26 0.99 1.05 -6.06 1.05
1.09 -3.81
fast_array.cc 0.92 0.94 -2.17 0.95 0.97 -2.11 0.97
0.99 -2.06
ssl.cc 2.87 2.94 -2.44 3.66 4.29 -17.21 4.1
4.78 -16.59
fixed.cc 0.92 0.93 -1.09 1.03 1.1 -6.8 1.14
1.19 -4.39
intercept.cc 2.12 2.17 -2.36 2.46 2.71 -10.16 2.66
2.93 -10.15
codeset.cc 2.48 2.55 -2.82 3.2 3.66 -14.38 3.69
4.2 -13.82
queue.cc 1.04 1.09 -4.81 1.13 1.23 -8.85 1.21
1.29 -6.61
static.cc 4.46 4.68 -4.93 6.31 7.61 -20.6 7.35
8.74 -18.91
current.cc 1.76 1.8 -2.27 1.79 1.83 -2.23 1.82
1.84 -1.1
policy_impl.cc 2.66 2.73 -2.63 3.07 3.51 -14.33 3.1
3.8 -22.58
service_info.cc 1.76 1.54 12.5 1.75 1.79 -2.29 1.69
1.79 -5.92
ioptypes.cc 2.27 2.24 1.32 2.77 3.27 -18.05 3.03
3.58 -18.15
ssliop.cc 1.81 1.84 -1.66 1.82 1.86 -2.2 1.85
1.86 -0.54
value.cc 2.23 2.28 -2.24 2.44 2.71 -11.07 2.6
2.9 -11.54
valuetype.cc 2.09 2.12 -1.44 2.4 2.6 -8.33 2.57
2.75 -7
valuetype_impl.cc 2.7 2.85 -5.56 2.99 3.38 -13.04 3.27
3.65 -11.62
dynany_impl.cc 2.72 2.83 -4.04 4.97 6.31 -26.96 6.25
7.6 -21.6
policy2.cc 1.81 1.83 -1.1 1.88 1.95 -3.72 1.91
2 -4.71
tckind.cc 1.74 1.79 -2.87 1.76 1.78 -1.14 1.78
1.8 -1.12
orb_excepts.cc 1.8 1.82 -1.11 1.79 1.89 -5.59 1.87
1.92 -2.67
policy.cc 1.77 1.83 -3.39 1.52 1.87 -23.03 1.83
1.9 -3.83
poa.cc 2.77 2.81 -1.44 3.72 4.24 -13.98 4.31
4.83 -12.06
poa_base.cc 2.22 2.26 -1.8 2.52 2.73 -8.33 2.74
2.97 -8.39
poa_impl.cc 3.42 3.98 -16.37 6.04 7.23 -19.7 7.23
8.53 -17.98
dynany.cc 2.2 2.21 -0.45 2.48 2.69 -8.47 2.62
2.69 -2.67
uni_base64.cc 0.04 0.04 0 0.07 0.07 0 0.09
0.08 11.11
uni_unicode.cc 0.06 0.07 -16.67 0.1 0.12 -20 0.14
0.13 7.14
uni_fromuni.cc 0.13 0.13 0 0.23 0.4 -73.91 0.38
0.47 -23.68
uni_touni.cc 0.15 0.16 -6.67 0.27 0.4 -48.15 0.38
0.48 -26.32
except2.cc 1.65 1.71 -3.64 2.82 3.36 -19.15 3.43
3.97 -15.74
pi.cc 2.36 2.39 -1.27 2.85 2.98 -4.56 3.17
3.46 -9.15
pi_impl.cc 4.5 4.76 -5.78 6.73 8.25 -22.59 7.98
9.7 -21.55
typecode_seq.cc 1.89 1.93 -2.12 2 2.14 -7 1.85
2.18 -17.84
timebase.cc 1.78 1.8 -1.12 1.78 1.85 -3.93 1.68
1.86 -10.71
ir.cc 13.13 15.26 -16.22 20.4 31.5 -54.41 25.38
38.09 -50.08
ir_base.cc 2.51 2.53 -0.8 3.37 3.92 -16.32 3.82
4.2 -9.95
imr.cc 2.59 2.71 -4.63 3.34 3.95 -18.26 3.88
4.35 -12.11
mtdebug.cc 0.91 0.93 -2.2 0.9 0.93 -3.33 0.91
0.92 -1.1
reflection.cc 1.9 1.95 -2.63 1.97 2.13 -8.12 2.12
2.21 -4.25
os-thread.cc 0.95 0.95 0 0.8 1 -25 0.99
1.02 -3.03
operation.cc 0.95 0.98 -3.16 0.91 1.07 -17.58 1.09
1.12 -2.75
message.cc 1.08 1.1 -1.85 1.32 1.51 -14.39 1.46
1.64 -12.33
mt_dispatcher.cc 0.94 0.95 -1.06 0.97 1 -3.09 0.99
1.02 -3.03
mt_manager.cc 1.05 1.06 -0.95 1.19 1.3 -9.24 1.31
1.4 -6.87
security/csi_base.cc 1.91 1.96 -2.62 2.03 2.24 -10.34 2.11
2.29 -8.53
security/csi.cc 2.11 2.15 -1.9 2.43 2.36 2.88 2.63
2.9 -10.27
security/csiiop.cc 2.43 2.51 -3.29 2.99 3.63 -21.4 3.31
4 -20.85
security/gssup.cc 1.8 1.86 -3.33 1.84 1.94 -5.43 1.89
1.95 -3.17
security/csiv2.cc 2.09 2.14 -2.39 2.36 2.58 -9.32 2.54
2.73 -7.48
security/csiv2_impl.cc 3.31 3.43 -3.63 5.07 7.53 -48.52 6.27
8.55 -36.36
Sum 140.39 146.41 -4.29 182.87 221.74 -21.26 209.58
250.42 -19.49
File 401-O3 410-O3 Delta% 401-Os 410-Os Delta%
os-unix.cc 1.16 1.27 -9.48 1.11 1.14 -2.7
dii.cc 4.27 4.89 -14.52 3.66 4.23 -15.57
typecode.cc 7.82 7.32 6.39 4.01 4.36 -8.73
any.cc 3.18 4.18 -31.45 2.74 2.95 -7.66
codec.cc 2.58 3.01 -16.67 2.19 2.33 -6.39
buffer.cc 1.01 1.11 -9.9 0.98 1.03 -5.1
context.cc 1.21 1.32 -9.09 1.05 1.11 -5.71
except.cc 1.8 1.94 -7.78 1.49 1.56 -4.7
dispatch.cc 1.73 1.92 -10.98 1.75 1.75 0
string.cc 0.9 0.91 -1.11 0.87 0.91 -4.6
object.cc 2.33 2.76 -18.45 1.68 1.78 -5.95
address.cc 1.82 2.08 -14.29 1.67 1.74 -4.19
ior.cc 4.36 4.87 -11.7 3.93 4.23 -7.63
orb.cc 10.12 14.17 -40.02 7.94 8.33 -4.91
dsi.cc 2.28 2.45 -7.46 2.28 2.36 -3.51
transport.cc 1.27 1.4 -10.24 1.23 1.29 -4.88
transport/tcp.cc 1.21 1.24 -2.48 1.11 1.16 -4.5
transport/udp.cc 1.22 1.27 -4.1 1.14 1.17 -2.63
transport/unix.cc 1.11 1.18 -6.31 1.06 0.95 10.38
iop.cc 7.94 9.85 -24.06 6.24 6.61 -5.93
util.cc 2.84 3.86 -35.92 2.28 2.37 -3.95
basic_seq.cc 1.04 1.11 -6.73 1.2 1.19 0.83
fast_array.cc 1 1.02 -2 1 1.02 -2
ssl.cc 4.26 4.9 -15.02 3.9 4.11 -5.38
fixed.cc 1.3 1.38 -6.15 1.2 1.25 -4.17
intercept.cc 2.7 3.08 -14.07 2.69 2.76 -2.6
codeset.cc 3.76 4.24 -12.77 3.47 3.71 -6.92
queue.cc 1.25 1.37 -9.6 1.25 1.26 -0.8
static.cc 7.69 9.43 -22.63 7.48 8.49 -13.5
current.cc 1.81 1.85 -2.21 1.8 1.86 -3.33
policy_impl.cc 3.5 4.18 -19.43 3.34 3.55 -6.29
service_info.cc 1.78 1.81 -1.69 1.76 1.81 -2.84
ioptypes.cc 3.24 3.6 -11.11 2.95 3.15 -6.78
ssliop.cc 1.86 1.86 0 1.84 1.87 -1.63
value.cc 2.8 3.3 -17.86 2.61 2.76 -5.75
valuetype.cc 2.65 2.84 -7.17 2.48 2.63 -6.05
valuetype_impl.cc 3.23 3.67 -13.62 3.77 4.05 -7.43
dynany_impl.cc 6.98 8.21 -17.62 4.82 5.35 -11
policy2.cc 1.95 1.97 -1.03 1.91 1.97 -3.14
tckind.cc 1.8 1.82 -1.11 1.78 1.62 8.99
orb_excepts.cc 1.86 1.94 -4.3 1.86 1.76 5.38
policy.cc 1.53 1.91 -24.84 1.86 1.92 -3.23
poa.cc 4.36 4.9 -12.39 4.06 4.43 -9.11
poa_base.cc 2.91 3.18 -9.28 2.71 2.89 -6.64
poa_impl.cc 8.51 10.51 -23.5 6.2 6.8 -9.68
dynany.cc 2.68 2.88 -7.46 2.6 2.77 -6.54
uni_base64.cc 0.11 0.1 9.09 0.08 0.09 -12.5
uni_unicode.cc 0.15 0.16 -6.67 0.14 0.15 -7.14
uni_fromuni.cc 0.54 0.7 -29.63 0.34 0.5 -47.06
uni_touni.cc 0.53 0.72 -35.85 0.35 0.49 -40
except2.cc 3.5 4.02 -14.86 3.01 3.35 -11.3
pi.cc 3.21 3.5 -9.03 3.09 3.29 -6.47
pi_impl.cc 8.59 10.37 -20.72 7.29 8.33 -14.27
typecode_seq.cc 2.1 2.19 -4.29 2.08 2.16 -3.85
timebase.cc 1.82 1.86 -2.2 1.8 1.87 -3.89
ir.cc 27.57 40.18 -45.74 21.75 27.01 -24.18
ir_base.cc 4.21 4.92 -16.86 3.38 3.62 -7.1
imr.cc 4.16 4.75 -14.18 3.74 4 -6.95
mtdebug.cc 0.92 0.96 -4.35 0.93 0.94 -1.08
reflection.cc 2.14 2.24 -4.67 2.11 2.21 -4.74
os-thread.cc 1.04 1.07 -2.88 1.03 1.05 -1.94
operation.cc 1.11 1.16 -4.5 1.06 1.11 -4.72
message.cc 1.51 1.82 -20.53 1.36 1.41 -3.68
mt_dispatcher.cc 1.03 1.05 -1.94 0.99 1.03 -4.04
mt_manager.cc 1.35 1.57 -16.3 1.29 1.36 -5.43
security/csi_base.cc 2.18 2.33 -6.88 2.15 2.2 -2.33
security/csi.cc 2.71 2.94 -8.49 2.54 2.64 -3.94
security/csiiop.cc 3.5 4.01 -14.57 3.26 3.42 -4.91
security/gssup.cc 1.91 1.65 13.61 1.93 1.96 -1.55
security/csiv2.cc 2.59 2.76 -6.56 2.5 2.62 -4.8
security/csiv2_impl.cc 7.13 9 -26.23 4.77 5.43 -13.84
Sum 224.22 265.99 -18.63 193.92 210.58 -8.59