[Theora-dev] AMD64 Bench

Stefan de Konink skinkie at xs4all.nl
Sat Dec 10 07:51:03 PST 2005


Hello,

Today I was benchmarking DV video on a AMD64:
skinkie at zwartepiet ~ $ cat /proc/cpuinfo
processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 47
model name      : AMD Athlon(tm) 64 Processor 3500+
stepping        : 0
cpu MHz         : 2210.197
cache size      : 512 KB
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat pse36 clflush mmx fxsr sse sse2 syscall nx mmxext fxsr_opt lm
3dnowext 3dnow pni lahf_lm
bogomips        : 4425.10
TLB size        : 1024 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc

I was a bit shocked libtheora-alpha5 no-mmx performed better than the
liboil version on an AMD64 cpu. And did some tests.

Normal 'gentoo' no-mmx compiled version:

0:01:30.18 audio: 68kbps video: 2181kbps

real    3m24.178s
user    3m22.109s
sys     0m0.900s

skinkie at zwartepiet ~ $ time ffmpeg2theora -c 1 -H 48000 THE\ MOVIE\ MET\
MIDVLIET\ goede\ aftitel.avi -o THE\ MOVIE\ MET\ MIDVLIET\ goede\
aftitel-2.dv
Input #0, avi, from 'THE MOVIE MET MIDVLIET goede aftitel.avi':
  Duration: 00:15:04.0, start: 0.000000, bitrate: 29578 kb/s
  Stream #0.0, 25.00 fps: Video: dvvideo, yuv420p, 720x576
  Stream #0.1: Audio: pcm_s16le, 48000 Hz, mono, 768 kb/s
  Resize: 720x576
      0:01:30.18 audio: 68kbps video: 2181kbps

real    3m23.561s
user    3m22.225s
sys     0m0.788s



GCC 3.4.4 has been used. With liboil-0.3.6

Hand compiled theora-oil version:

skinkie at zwartepiet ~ $ time
LD_PRELOAD=/home/skinkie/theora-oil/lib/.libs/libtheora.so ffmpeg2theora
-c 1 -H 48000 THE\ MOVIE\ MET\ MIDVLIET\ goede\ aftitel.avi -o THE\ MOVIE\
MET\ MIDVLIET\ goede\ aftitel.avi-1.dv
Input #0, avi, from 'THE MOVIE MET MIDVLIET goede aftitel.avi':
  Duration: 00:15:04.0, start: 0.000000, bitrate: 29578 kb/s
  Stream #0.0, 25.00 fps: Video: dvvideo, yuv420p, 720x576
  Stream #0.1: Audio: pcm_s16le, 48000 Hz, mono, 768 kb/s
  Resize: 720x576
      0:01:30.18 audio: 68kbps video: 2181kbps

real    4m41.053s
user    4m39.253s
sys     0m0.900s


'stripped' version:

skinkie at zwartepiet ~ $ time
LD_PRELOAD=/home/skinkie/theora-oil/lib/.libs/libtheora.so ffmpeg2theora
-c 1 -H 48000 THE\ MOVIE\ MET\ MIDVLIET\ goede\ aftitel.avi -o THE\ MOVIE\
MET\ MIDVLIET\ goede\ aftitel.avi-2.dv
Input #0, avi, from 'THE MOVIE MET MIDVLIET goede aftitel.avi':
  Duration: 00:15:04.0, start: 0.000000, bitrate: 29578 kb/s
  Stream #0.0, 25.00 fps: Video: dvvideo, yuv420p, 720x576
  Stream #0.1: Audio: pcm_s16le, 48000 Hz, mono, 768 kb/s
  Resize: 720x576
      0:01:30.18 audio: 68kbps video: 2181kbps                  `

real    4m41.593s
user    4m39.857s
sys     0m0.820s


But lets skip sound, and look what happens:

skinkie at zwartepiet ~ $ time
LD_PRELOAD=/home/skinkie/theora-oil/lib/.libs/libtheora.so ffmpeg2theora
--nosound THE\ MOVIE\ MET\ MIDVLIET\ goede\ aftitel.avi -o THE\ MOVIE\
MET\ MIDVLIET\ goede\ aftitel.avi-3.dv
Input #0, avi, from 'THE MOVIE MET MIDVLIET goede aftitel.avi':
  Duration: 00:15:04.0, start: 0.000000, bitrate: 29578 kb/s
  Stream #0.0, 25.00 fps: Video: dvvideo, yuv420p, 720x576
  Stream #0.1: Audio: pcm_s16le, 48000 Hz, mono, 768 kb/s
  [audio disabled].
  Resize: 720x576
      0:01:30.12 audio: 0kbps video: 2181kbps

real    4m38.269s
user    4m36.641s
sys     0m0.888s

skinkie at zwartepiet ~ $ time ffmpeg2theora --nosound THE\ MOVIE\ MET\
MIDVLIET\ goede\ aftitel.avi -o THE\ MOVIE\ MET\ MIDVLIET\ goede\
aftitel-2.dv
Input #0, avi, from 'THE MOVIE MET MIDVLIET goede aftitel.avi':
  Duration: 00:15:04.0, start: 0.000000, bitrate: 29578 kb/s
  Stream #0.0, 25.00 fps: Video: dvvideo, yuv420p, 720x576
  Stream #0.1: Audio: pcm_s16le, 48000 Hz, mono, 768 kb/s
  [audio disabled].
  Resize: 720x576
      0:01:30.20 audio: 0kbps video: 2181kbps

real    3m21.282s
user    3m19.856s
sys     0m0.820s


So what can I do to get this better? With my liboil attempt I don't get
any deincrease though libtheora is preloaded with oil:

skinkie at zwartepiet ~ $ time
LD_PRELOAD=/home/skinkie/theora-oil/lib/.libs/libtheora.so ldd
/usr/bin/ffmpeg2theora
        /home/skinkie/theora-oil/lib/.libs/libtheora.so
(0x00002aaaaabc1000)
        libavformat.so.0 => /usr/lib/libavformat.so.0 (0x00002aaaaacea000)
        libavcodec.so.0 => /usr/lib/libavcodec.so.0 (0x00002aaaaae47000)
        libmp3lame.so.0 => /usr/lib/libmp3lame.so.0 (0x00002aaaab1dd000)
        libxvidcore.so.4 => /usr/lib/libxvidcore.so.4 (0x00002aaaab374000)
        libz.so.1 => /lib/libz.so.1 (0x00002aaaab569000)
        libdl.so.2 => /lib/libdl.so.2 (0x00002aaaab67d000)
        libvorbisenc.so.2 => /usr/lib/libvorbisenc.so.2
(0x00002aaaab780000)
        libavutil.so.0 => /usr/lib/libavutil.so.0 (0x00002aaaaba5f000)
        libvorbis.so.0 => /usr/lib/libvorbis.so.0 (0x00002aaaabb62000)
        libm.so.6 => /lib/libm.so.6 (0x00002aaaabc8c000)
        libogg.so.0 => /usr/lib/libogg.so.0 (0x00002aaaabe13000)
        libc.so.6 => /lib/libc.so.6 (0x00002aaaabf18000)
        liboil-0.3.so.0 => /usr/lib/liboil-0.3.so.0 (0x00002aaaac13d000)
        libpostproc.so.0.0.1 => /usr/lib/libpostproc.so.0.0.1
(0x00002aaaac291000)
        /lib64/ld-linux-x86-64.so.2 (0x00002aaaaaaab000)

real    0m0.010s
user    0m0.004s
sys     0m0.008s


Greetings,

Stefan de Konink



More information about the Theora-dev mailing list