Gcc

From AdminWiki

Jump to: navigation, search

Contents

Introduction

Performance

There was much discussion about the performance in the largely rewritten 4.0 and 4.1 branches. Here are some hard numbers:

Software environment

I chose to test lame 3.97 since it's been done in the past and it's easy to reproduce, although I doubt that it's a good testcase.

  • lame 3.97b2
  • Debian testing from 4th of June 2006.
  • linux 2.4.27 on an AMD Athlon(TM) XP 2100+, clocked at 1312.944 mhz with 256kb l2 cache
gcc-3.4 (GCC) 3.4.6 (Debian 3.4.6-1)
gcc-4.0 (GCC) 4.0.4 20060507 (prerelease) (Debian 4.0.3-3)
gcc-4.1 (GCC) 4.1.1 20060511 (prerelease) (Debian 4.1.0-4)

Compile times

make distclean > /dev/null && sync && ./configure > /dev/null && time make > /dev/null

gcc 3.4

real    0m59.026s
user    0m54.250s
sys     0m4.560s

real    0m58.953s
user    0m54.480s
sys     0m4.300s

real    0m58.996s
user    0m54.450s
sys     0m4.390s

gcc 4.0

real    1m6.599s
user    1m1.780s
sys     0m4.420s

real    1m6.412s
user    1m1.820s
sys     0m4.440s

real    1m6.534s
user    1m1.810s
sys     0m4.410s

gcc 4.1

real    1m14.442s
user    1m9.870s
sys     0m4.390s

real    1m14.401s
user    1m9.690s
sys     0m4.510s

real    1m14.419s
user    1m9.500s
sys     0m4.740s

Run times

time ./lame-4.1 --quiet -V2 03-Massive_Attack_-_Teardrop.wav /dev/null

gcc 3.4

real    0m58.770s
user    0m58.170s
sys     0m0.370s

real    0m58.412s
user    0m58.130s
sys     0m0.240s

real    0m58.404s
user    0m58.080s
sys     0m0.240s

gcc 4.0

real    0m56.897s
user    0m56.570s
sys     0m0.180s

real    0m56.547s
user    0m56.350s
sys     0m0.170s

real    0m56.646s
user    0m56.380s
sys     0m0.230s

gcc 4.1

real    0m54.680s
user    0m54.300s
sys     0m0.270s

real    0m54.656s
user    0m54.430s
sys     0m0.200s

real    0m54.599s
user    0m54.340s
sys     0m0.220s

Conclusion

The more recent gcc version trade off compile time for run-time speed.

Personal tools