Cortex-A8 vs Coppermine

Samples description

I made a few benchmarks of two devices:

  1. The Pandora device (based on OMAP3530).
  2. A PC with 256 Mb SDR RAM and one of the following CPUs: Pentium 3 and
    Celeron.

Both systems used the same gcc-4.4.3 and glibc-2.11.2.
Whole systems were compiled with the following flags:

PC flags:

CFLAGS="-O2 -march=native -pipe"
CXXFLAGS="${CFLAGS}"

Global USE includes sse and mmxю ffmpeg’s use uncludes mmxext.

OMAP flags:

CFLAGS="-O2 -march=armv7-a -mtune=cortex-a8 -mfpu=neon -mfloat-abi=softfp -ftree-vectorize -fomit-frame-pointer"
CXXFLAGS="${CFLAGS}"

OMAP’s DSP was not used.

Legend

  • OMAP@600 is OMAP3530 running at 600Mhz (default for Pandora).
  • OMAP@850 is OMAP3530 overclocked to 850Mhz.
  • P3@600/133 is Pentium 3 EB (the Coppermine core) running at 600 Mhz (FSB clocked at 133Mhz).
  • Cel@600/66 is Celeron (the Coppermine-128 core) running at 600 Mhz (FSB clocked at 66Mhz).

Compilation

I want to emphasize that it is not a performance benchmark, because compilation is done for different architectures (ARM and x86). It is a benchmark of one particular task, which is essential for gentoo users.

package OMAP@600 OMAP@850 P3@600/133 Cel@600/66
binutils-2.20.1, m:s 37:50 28:45 20:06 28:23
glibc-2.11.2, m:s 177:27 138:19 104:09 145:16

OMAP3530 overclocked to 850 Mhz is very close to Celeron running at 600 Mhz.

Nbench

Nbench is a synthetic performance test.

The used version: nbench-2.2.3-r1

index OMAP@600 OMAP@850 P3@600/133 Cel@600/66
memory 3.040 4.364 2.811 2.745
integer 3.073 4.365 2.761 2.751
floating-point 0.533 0.761 5.477 5.268

Nbench does not show any difference between Pentium 3 and Celeron, which is strange.

MPlayer

MPlayer was used to measure video decoding time.
The used version: mplayer-1.0_rc4_p20091026-r1
Command line:

mplayer -benchmark -vo null -nosound input_file

Input files: Big Buck Bunny at 480p in MPEG4, H.264 and Theora/Vorbis.

codec OMAP@600 OMAP@850 P3@600/133 Cel@600/66
FFmpeg H.264, s 546.3 409.5 221.1 369.9
FFmpeg MSMPEG-4, s 175.3 128.1 98.4 130.2
Theora, s 497.9 367.8 256.2 322.7

FFmpeg

FFmpeg was used for encoding MPEG4 to Theora/Vorbis.
The used version: ffmpeg-0.5_p20373
Command line:

time ffmpeg -i input_file.avi -vcodec libtheora -acodec libvorbis \
-vb 1024k -s 640:360 output_file.ogv

Input files: Big Buck Bunny, Sintel trailer.

movie OMAP@600 OMAP@850 P3@600/133 Cel@600/66
big buck bunny, m:s 143:21 102:38 43:45 47:51
sintel trailer, m:s 13:39 9:48 3:59 4:30

Compression

The used tools: bzip2-1.0.5-r1, gzip-1.4
Command lines:

time bzip2 big_buck_bunny_480p_stereo.avi
time gzip big_buck_bunny_480p_stereo.avi

Input files: big_buck_bunny_480p_stereo.avi

compressor OMAP@600 OMAP@850 P3@600/133 Cel@600/66
bzip2, m:s 6:48 5:17 6:08 7:45
gzip, m:s 1:55 1:39 0:53 1:42

Hashing

The used tools: coreutils-8.5
Command lines:

time md5 big_buck_bunny_480p_stereo.avi
time sha256 big_buck_bunny_480p_stereo.avi
time sha512 big_buck_bunny_480p_stereo.avi

Input files: big_buck_bunny_480p_stereo.avi

algorithm OMAP@600 OMAP@850 P3@600/133 Cel@600/66
md5, s 2.45 1.18 1.95 2.15
sha256, s 7.20 5.17 8.30 8.68
sha512, m:s 1:10 0:43 0:29 0:31

JavaScript

The used tools: midori-0.2.6, webkit-gtk-1.1.15.4, V8 version 5, SunSpider-0.9.

suite OMAP@600 OMAP@850 P3@600/133 Cel@600/66
V8 57.4 80.2 305 253
SunSpider, ms 23053.8 18327.0 4744.6 5520.4