Android Comparative Benchmarks
From Texas Instruments Embedded Processors Wiki
Contents |
Introduction
This page provides comparison among various TI processors running TI's Android-DevKit. Data published here is for the latest version of released Android-DevKit. Items yet to be measured are marked "TBD" and those that are not applicable to a particular platform are marked "N/A".
Platform Benchmarks
This is a collection of benchmarks comparing mainly CPU speed and other data transfer operations. In below tests, AM3730@1GHz, AM3517@600MHz, and OMAP3530@720MHz. On DM3730@1GHz only multimedia performance is measured.
RowboPerf: ARM
See RowboPERF User Guide for more information about these metrics. The RowboPerf application calls native executables compiled with Android's NDK to perform these tests.
| | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Dhrystone | 1138 DMIPS | 632.39 DMIPS | 711.44 DMIPS |
| Whetstone | 500 MIPS | 333.3 MIPS | 333.3 MIPS |
| Linpack | 36622 Kflops | 19532 Kflops | 25512 Kflops |
RowboPERF: rowboatBench
See RowboPERF User Guide for more information about these metrics. rowboatBench measures CPU performance by running Java applications that emulates known C implementations of popular CPU benchmarks like Dhrystone and Whetstone
| | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Dhrystone | 133,707 stones/sec | 84997.0 stones/sec | 85062 stones/sec |
| Whetstone | 128 MWIPS | 74787.0 KWIPS | 93512 KWIPS |
| Himeno | 0.597000002861023 | 1.0520000457763672 | 0.564999 |
| Spectral Normalization | 561 ms | 975.0 ms | 759 ms |
RowboPERF: 0xBench
See RowboPERF User Guide for more information about these metrics.
| Linpack | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Mflops/s | 16.710859273788333 | 9.661605571563705 | 10.693603659132854 |
| Norm Res | 1.7100673392687894E14 | 1.7100673392687894E14 | 1.7100673392687894E14 |
| Precision | 2.220446049250313E-16 | 2.220446049250313E-16 | 2.220446049250313E-16 |
| Scimark2 | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Composite | 19.949576011603526 | 11.51952354683548 | 13.859260193553363 |
| Fast Fourier Transform | 14.202063797102927 | 8.020529718864642 | 10.008725487938541 |
| Jacobi Successive Over-relaxation | 28.715948458675733 | 16.967411546712874 | 20.079140561746915 |
| Monte Carlo integration | 5.932537588351684 | 3.459219861834415 | 4.153804371723308 |
| Sparse matrix multiply | 18.277555176454754 | 10.526857083928702 | 12.491613129614269 |
| dense LU matrix factorization | 32.61977503743252 | 18.623599522836763 | 22.563017416743772 |
Boot Time
Numbers shown here measure the time from start of loading the kernel image to appearance of Android's Home Screen. These measurements are done using the default (pre-built) images provided with the DevKit. Please note that the very first time you boot your device, the boot time will be significantly higher (approx. 3-4 min).
| Time (secs) | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| SD Boot Time | 37 | 55 | 36 |
EDMA Test
Need to devise this test.
Memory Bandwidth
Need to devise this test.
Browser Performance
Sunspider
These metrics were collected using the well-known Sunspider performance benchmarks available at http://www2.webkit.org/perf/sunspider-0.9/sunspider.html
| Sunspider | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Total | 6347.6ms +/-2.2% | 11048.8ms +/- 3.2% | 9397ms +/- 1.6% |
| 3D | 1033.2ms +/- 8.8% | 1800.8ms +/- 7.0% | 1488.6ms +/- 2.1% |
| Access | 518.6ms +/- 4.3% | 1102.0ms +/- 7.0% | 874.8ms +/- 2.9% |
| Bitops | 415ms +/-11.6% | 650.4ms +/- 2.1% | 535ms +/- 2.9% |
| ControlFlow | 20.4ms +/-3.3% | 35.0ms +/- 0.0% | 30ms +/- 11.7% |
| Crypto | 389.6ms +/-15.8% | 702.4ms +/- 4.1% | 554.2ms +/- 2.5 % |
| Date | 836ms +/-3.9% | 1700.2ms +/- 1.4% | 1382.8ms +/- 4.6% |
| Math | 668.4ms +/-12.6% | 920.2ms +/- 2.0% | 756.0 ms +/- 4.2% |
| Regex | 141ms +/-3.9% | 202.8ms +/- 0.7% | 205.8ms +/- 8.4% |
| String | 2325.4ms +/-1.2% | 4341.0ms +/- 3.0% | 3569.8 ms +/- 2.0% |
The Man in Blue animation
Browser animation metrics collected using the performance benchmark available at http://www.themaninblue.com/experiment/AnimationBenchmark/
| Man in Blue | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Canvas | ~15 fps | ~7.52 | ~6.73 fps |
| Flash | ~24 fps | TBD | TBD |
JVM Performance
Caffeine Mark
Application to measure Java Virtual Machine (JVM) performance on mobile devices. For more info please see Caffeine Mark page
| CaffeineMark | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Sieve Score | 2141 | 1311 | 1559 |
| Loop Score | 10207 | 6068 | 7309 |
| Logic Score | 12224 | 7177 | 7541 |
| String Score | 4980 | 2896 | 3627 |
| Float Score | 3459 | 2050 | 2414 |
| Method Score | 3946 | 2327 | 2807 |
| Overall Score | 5126 | 3039 | 3581 |
Sqlite DB Performance
Testindex Benchmark application to measure SQlite performance. For more information please see TestIndex Home page
| TestIndex | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| | TBD | TBD | TBD |
File Storage Performance
These tests were performed using the StorageIO application provided in RoboPerf. The application measures the write and read speed of different storage devices using several block sizes. For these tests the file size chosen was 100 MBytes. In order for the application to run the storage device chosen for the test must be mounted in the Android file system and a have read and write access. All the tests were perform on devices with a vfat file system.
MMC/SD Performance
| Throughput (MB/s) | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Write, bs=512 | 3.545481 | 3.7559138 | 4.2310295 |
| Write, bs=4096 | 4.135742 | 4.9056185 | 5.324883 |
| Write, bs=16384 | 4.165975 | 4.6939255 | 5.259975 |
| Write, bs=65536 | 4.185431 | 5.4209585 | 4.947280 |
| Write, bs=524288 | 3.949885 | 4.9238165 | 5.0538655 |
| Write, bs=1048576 | 4.297619 | 4.847113 | 5.466173 |
| Read, bs=512 | 6.218205 | 2.031140 | 5.5677585 |
| Read, bs=4096 | 6.129514 | 2.4484565 | 4.8538445 |
| Read, bs=16384 | 6.157228 | 2.6835645 | 4.7535065 |
| Read, bs=65536 | 6.311780 | 2.343815 | 4.7753710 |
| Read, bs=524288 | 5.971389 | 2.890869 | 5.062894 |
| Read, bs=1048576 | 5.664916 | 2.7540475 | 5.1917415 |
USB Performance
| Throughput (MB/s) | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Write, bs=512 | TBD | 9.358108 | 8.461717 |
| Write, bs=4096 | TBD | 9.816289 | 9.994053 |
| Write, bs=16384 | TBD | 9.990244 | 10.388112 |
| Write, bs=65536 | TBD | 10.573520 | 10.387083 |
| Write, bs=524288 | TBD | 10.467964 | 10.299342 |
| Write, bs=1048576 | TBD | 10.603458 | 10.498358 |
| Read, bs=512 | TBD | 9.852260 | 9.998818 |
| Read, bs=4096 | TBD | 12.005679 | 12.221166 |
| Read, bs=16384 | TBD | 11.730350 | 12.113863 |
| Read, bs=65536 | TBD | 11.746119 | 11.865746 |
| Read, bs=524288 | TBD | 11.567303 | 11.599292 |
| Read, bs=1048576 | TBD | 11.433606 | 11.750067 |
Connectivity Performance
These tests provide throughput comparison across commonly used transports/mediums.
Ethernet
Measures TCP Throughput between Server (running on Host PC) and Client (Android Platform) using different buffer sizes (bs in bytes) Both Server and client uses the Netperf utility. For more information about Netperf, please see Netperf Home page
| TCP Throughput | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| bs=16 | 31.80 Mb/s | 33.82 Mb/s | 23.21 Mb/s |
| bs=1024 | 32.15 Mb/s | 33.6 Mb/s | 23.49 Mb/s |
| bs=4096 | 52.76 Mb/s | 52.33 Mb/s | 42.08 Mb/s |
| bs=8192 | 57.84 Mb/s | 16.71 Mb/s | 47.7 Mb/s |
ADB
Measure Android Debug Bridge (ADB) throughput between Host PC and Android device by pushing and pulling a 20MB file with random content 10 times. TX and RX numbers are from the Host PC point of view, so TX is measured by doing "adb push" on the Host PC.
| ADB USB Throughput | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| TX | 4853.0 KB/s | 2032.6 KB/s | 3278.6 KB/s |
| RX | 6154.4 KB/s | 4331.6 KB/s | 5144.7 KB/s |
Graphics Performance
RowboPERF: 0xBench 2D
See RowboPERF User Guide for more information about these metrics.
| 2D | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| Draw Canvas (fps) | 59.0 | 59.0 | 57.0 |
| Draw Circle (fps) | 50.0 | 28.0 | 32.0 |
| Draw Circle2 (fps) | 58.0 | 59.0 | 54.5 |
| Draw Rect (fps) | 34.0 | 36.33 | 29.33 |
| Draw Arc (fps) | 51.5 | 49.0 | 41.5 |
| Draw Image (fps) | 58.0 | 58.0 | 44.0 |
| Draw Text (fps) | 54.67 | 30.0 | 36.33 |
RowboPERF: 0xBench 3D
See RowboPERF User Guide for more information about these metrics.
| 3D | AM3730 | AM3517 | OMAP3530 |
|---|---|---|---|
| OpenGL Cube (fps) | 58.0 | 59.0 | 58.0 |
| OpenGL Blending (fps) | 62.85 | 64.076 | 62.70 |
| OpenGL Fog (fps) | 62.86 | 64.17 | 62.82 |
| OpenGL Teapot (fps) | 60.6 | 60.595 | 60.58 |
MultiMedia Performance
Tests to measure video, audio, image and speech processing performance.
Video Display
To measure Video decode and display performance, the Big Buck Bunny clip was used. The clip has the following video and audio streams
Stream #0.0(und): Video: mpeg4, yuv420p, 352x288 [PAR 48:11 DAR 16:3], 30 tbr, 30 tbn, 30 tbc
Stream #0.1(und): Audio: aac, 48000 Hz, stereo, s16
DDR2 memory was set to 256M in the boot parameters (Default value)
For Android on DM37x EVM, which has multimedia DSP acceleration enabled, the sintel-1280-stereo.mp4 clip was used. The clip has the following video and audio streams. The ARM load (observed with 'top' command) is about 4~8% while playing the clip.
Video: AVC High@L3.1, CABAC, 5 ReFrames, 1,616 Kbps, 1280x544, 24.000 fps, yuv420p
Audio: AAC Ver4, LC, 192 Kbps, 2 channels, 48.0 KHz
| Video decode | AM3730 | AM3517 | OMAP3530 | DM3730 |
|---|---|---|---|---|
| Min (fps) | 29.59 | 29.588 | 29.69 | 23.960 |
| AVG (fps) | 30.00 | 30.006 | 30.04 | 24.00 |
| Max (fps) | 31.17 | 30.77 | 30.99 | 24.184 |
Power Management
Need to devise this test.
Versioning
This is Release DevKit-V2. The release is available from http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/02_00_00/index_FDS.html
