[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