There was much discussion about the performance in the largely rewritten 4.0 and 4.1 branches. Here are some hard numbers:
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)
make distclean > /dev/null && sync && ./configure > /dev/null && time make > /dev/null
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
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
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
time ./lame-4.1 --quiet -V2 03-Massive_Attack_-_Teardrop.wav /dev/null
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
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
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
The more recent gcc version trade off compile time for run-time speed.