Application Processor Benchmarks

From HBMobile
Jump to navigationJump to search

To get a feel for the performance of the various application processors avaliable on the market, we have benchmarked as many as we can get access to. The tool we have used to benchmark the processors is nbench 2.2.2, as it is easy to cross-compile and only depends on libc.

DISCLAIMER: These are simple synthetic benchmarks and may not represent "real-world" performance. The results may also not match different configurations than those tested (e.g. if different memory is used). The results we've got so far also seem to differ to other (probably more professional) results. E.g. The Synchromesh Computing benchmarks


Overview of Results

TEST i.MX31 (532Mhz) PXA255 (400Mhz) PXA270 (600Mhz) S3C2440A (400Mhz)
NUMERIC SORT 133.72 152.44 198.12 91.523
STRING SORT 8.1317 10.753 17.469 8.307
BITFIELD 4.3146e+07 3.6149e+07 6.6802e+07 3.0876e+07
FP EMULATION 30.475 13.023 41.583 7.9239
FOURIER 147.52 - 251.35 11.727
ASSIGNMENT - 1.2438 1.2438 0.48694
IDEA 396.2 393.08 538.49 340.46
HUFFMAN 171.95 21.716 302.12 40.497
NEURAL NET 0.22022 - 0.306 0.014012
LU DECOMPOSITION 7.1372 - 7.372 0.48278

Test Setups

i.MX31

  • Hardware: i.MX31 LITEKIT from LogicPD
  • GCC 4.1.2, armv6-vfp-linux-gnueabi
  • CFLAGS -s -static -Wall -O3 -fomit-frame-pointer -funroll-loops -mcpu=arm1136jf-s -mtune=arm1136jf-s -march=armv6 -mfpu=vfp
  • Kernel 2.6.19

PXA255

PXA270

  • gumstix verdex XL6P motherboard with PXA270 CPU at 624MHz
  • RAM: 16bit, 104MHz bus, tRP = 2 clks, CL = 2, tRCD = 2 clks, tRAS(min) = 5 clks, tRC = 8 clks
  • linux 2.6.21gum, uclibc snapshot (gumstix patched) from 20070424, gcc 4.1.1 (with gumstix patches)
  • using EABI and iWMMXt instructions in kernel and libc
  • nbench compiled with CFLAGS = -O3 -march=armv5te -mtune=iwmmxt -Wa,-mcpu=iwmmxt -s -static -Wall -fomit-frame-pointer -funroll-loops -ftree-vectorize

S3C2440A