Application Processor Benchmarks: Difference between revisions

From HBMobile
Jump to navigationJump to search
(Added Nokia N770 & N800 results)
Line 12: Line 12:
!PXA270 (600Mhz)
!PXA270 (600Mhz)
!S3C2440A (400Mhz)
!S3C2440A (400Mhz)
!OMAP1710
!OMAP2420
|-
|-
|NUMERIC SORT || 133.72 || 152.44 || 198.12 || 91.523
|NUMERIC SORT || 133.72 || 152.44 || 198.12 || 91.523 || 75.819 || 113.55
|-
|-
|STRING SORT || 8.1317 || 10.753 || 17.469 || 8.307  
|STRING SORT || 8.1317 || 10.753 || 17.469 || 8.307 || 5.1752 || 6.6113
|-
|-
|BITFIELD || 4.3146e+07 || 3.6149e+07 || 6.6802e+07 || 3.0876e+07
|BITFIELD || 4.3146e+07 || 3.6149e+07 || 6.6802e+07 || 3.0876e+07 || 2.4423e+07 || 3.2539e+07
|-
|-
|FP EMULATION || 30.475 || 13.023 || 41.583 || 7.9239
|FP EMULATION || 30.475 || 13.023 || 41.583 || 7.9239 || 9.603 || 13.183
|-
|-
|FOURIER || 147.52 || - || 251.35 || 11.727
|FOURIER || 147.52 || - || 251.35 || 11.727 || 68.432 || 103.04
|-
|-
|ASSIGNMENT || - || 1.2438 || 1.2438 || 0.48694
|ASSIGNMENT || - || 1.2438 || 1.2438 || 0.48694 || 0.7025 || 1.0084
|-
|-
|IDEA || 396.2 || 393.08 || 538.49 || 340.46
|IDEA || 396.2 || 393.08 || 538.49 || 340.46 || 224.89 || 283.98
|-
|-
|HUFFMAN || 171.95 || 21.716 || 302.12 || 40.497
|HUFFMAN || 171.95 || 21.716 || 302.12 || 40.497 || 89.866 || 120.01
|-
|-
|NEURAL NET || 0.22022 || - || 0.306 || 0.014012
|NEURAL NET || 0.22022 || - || 0.306 || 0.014012 || 0.092834 || 0.50151
|-
|-
|LU DECOMPOSITION || 7.1372 || -  || 7.372 || 0.48278
|LU DECOMPOSITION || 7.1372 || -  || 7.372 || 0.48278 || 3.0535 || 39.306
|}
|}



Revision as of 10:40, 6 July 2007

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) OMAP1710 OMAP2420
NUMERIC SORT 133.72 152.44 198.12 91.523 75.819 113.55
STRING SORT 8.1317 10.753 17.469 8.307 5.1752 6.6113
BITFIELD 4.3146e+07 3.6149e+07 6.6802e+07 3.0876e+07 2.4423e+07 3.2539e+07
FP EMULATION 30.475 13.023 41.583 7.9239 9.603 13.183
FOURIER 147.52 - 251.35 11.727 68.432 103.04
ASSIGNMENT - 1.2438 1.2438 0.48694 0.7025 1.0084
IDEA 396.2 393.08 538.49 340.46 224.89 283.98
HUFFMAN 171.95 21.716 302.12 40.497 89.866 120.01
NEURAL NET 0.22022 - 0.306 0.014012 0.092834 0.50151
LU DECOMPOSITION 7.1372 - 7.372 0.48278 3.0535 39.306

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