[MPlayer-dev-eng] dsputil_mmx.c: -O2

Loren Merritt lorenm at u.washington.edu
Fri Sep 22 03:50:04 CEST 2006


Athlon64 3400, 2205 MHz, 1MB L2 cache
mplayer -vo null -nosound -benchmark bbc-japan_1080p.mov

In all of these trials, the rest of mplayer was compiled with gcc 4.1.1 
-O4, only dsputil_mmx.o varied.
Times are mean and std dev from 10 samples.

  decode time     dsputil_mmx.o  compiler
247.303 \pm 0.090   260 KB    gcc-4.1.1 -O2
248.334 \pm 0.076   749 KB    gcc-3.4.3 -O4
248.649 \pm 0.089   757 KB    gcc-3.4.3 -O2 -finline-functions
250.296 \pm 0.113   288 KB    gcc-4.1.1 -O4 -fno-inline-functions
251.180 \pm 0.063   921 KB    gcc-4.1.1 -O2 -finline-functions
251.743 \pm 0.094   232 KB    gcc-3.4.3 -O2
252.105 \pm 0.076   232 KB    gcc-3.4.3 -O4 -fno-inline-functions
264.365 \pm 0.119  1249 KB    gcc-4.1.1 -O4
                    1286 KB    gcc-3.4.3 -O4 -funroll-loops
                    1293 KB    gcc-4.1.1 -O4 -funroll-loops

Looking at the asm, the main difference between gcc-3.4.3 -O4 and 
gcc-4.1.1 -O4 is not inlining, but rather unrolling. Even though 
-funroll-loops was not enabled.

--Loren Merritt



More information about the MPlayer-dev-eng mailing list