Android Benchmarking and
Optimization Opportunities
● Talk about what was planned in Hong Kong and give a
summary
● Presen...
Recap
● Linaro Android as a Benchmarking Platform
● Integrate ARM's system benchmarks into LAVA
● Perform hotspot analysis...
Benchmarks Integrated
● AndEBench
● Antutu
● Linpack
● CaffeineMark
● GLBenchmark
● GeekBench 2
● Quadrant
● Vellamo
● NBe...
Benchmark methodology
For Low Variance:
● Governance policy to performance.
● Disable data syncing for other apps.
● Kill ...
Benchmark Gains
AOSP + Linaro Patches build on Panda 4460 Measured
with 3.2 TILT stable kernel vs AOSP build with 3.2 kern...
Benchmarks Compiler libc JIT libdvm libskia libm kernel webkit V8 Engine Other
libraries
AndEBench Native High None None N...
Benchmarks Compiler libc JIT libdvm libskia libm kernel webkit V8
Engine
Other
libraries
Quadrant 2D
Benchmark
None None N...
Benchmarks >50% 30%< X <50% 10%< X < 30% <10% <10% <10%
AndEBench
Native
libcore_ARM 86% (ndk
Toolchain)
AndEBench Java Da...
Quadrant
Memory
Benchmark
libc(memcpy 38%) kernel(13%)
Quadrant IO
Benchmark
kernel(6.28%)
Quadrant 2D
Benchmark
Libskia(2...
Optimization Opportunities
● Some of the gains already achieved from
libc,libm optimization which reflect in
benchmark gai...
LCE12: Android Mini-Summit (Benchmarking and Optimization Opportunities)
LCE12: Android Mini-Summit (Benchmarking and Optimization Opportunities)
LCE12: Android Mini-Summit (Benchmarking and Optimization Opportunities)
Upcoming SlideShare
Loading in …5
×

LCE12: Android Mini-Summit (Benchmarking and Optimization Opportunities)

386
-1

Published on

Resource: LCE12
Name: Android Mini-Summit (Benchmarking and Optimization Opportunities)
Date: 31-10-2012
Speaker:

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
386
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
13
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

LCE12: Android Mini-Summit (Benchmarking and Optimization Opportunities)

  1. 1. Android Benchmarking and Optimization Opportunities ● Talk about what was planned in Hong Kong and give a summary ● Present current benchmark methodology and hotspot benchmark results ● Discuss methodology ● Suggest specific optimization opportunities and additional measurements and benchmarks ● Explore additional benchmarks
  2. 2. Recap ● Linaro Android as a Benchmarking Platform ● Integrate ARM's system benchmarks into LAVA ● Perform hotspot analysis of benchmarking APKs and browser benchmarks
  3. 3. Benchmarks Integrated ● AndEBench ● Antutu ● Linpack ● CaffeineMark ● GLBenchmark ● GeekBench 2 ● Quadrant ● Vellamo ● NBench ● Methanol
  4. 4. Benchmark methodology For Low Variance: ● Governance policy to performance. ● Disable data syncing for other apps. ● Kill Background processes. ● Avoid installing other apps. ● Wifi enabled for network access. Characterization: ● DS-5 streamline.
  5. 5. Benchmark Gains AOSP + Linaro Patches build on Panda 4460 Measured with 3.2 TILT stable kernel vs AOSP build with 3.2 kernel: ● Antutu RAM 21 % ● CaffeineMark String 24 % ● Quadrant Mem 81 % ● Antutu Float 10 % ● 0xBench Sunspider 10 % ● 0xBench DrawArc,DrawCircle,DrawRect >40 % ● 0xBench Garbage Collection 11 % ● Vellamo Sunspider 14 % ● Vellamo V8 Benchmark 8 %
  6. 6. Benchmarks Compiler libc JIT libdvm libskia libm kernel webkit V8 Engine Other libraries AndEBench Native High None None None None None None None None None AndEBench Java None None High Low None None None None None None Linpack None None High None None None None None None None Caffeinemark None None High Low None None None None None None Antutu CPU & Memory High Medium None None None Low Low None None None Antutu 2D Graphics None Medium None None Low None Medium None None None Antutu 3D Graphics Low Low None None None None Low None None None Antutu DB IO None Medium None None None None Medium None None None nbench High Low None None None None None None None None Quadrant CPU Benchmark None None High None None None None None None None Quadrant Memory Benchmark None None High None None Medium None None None Quadrant IO Benchmark None None None None None None Low None None None High(>50%) Medium(50%>x>30%) Low(<10%)Benchmark Characterization
  7. 7. Benchmarks Compiler libc JIT libdvm libskia libm kernel webkit V8 Engine Other libraries Quadrant 2D Benchmark None None None Low Medium None Medium None None None Quadrant 3D Benchmark None None None Low None None Low None None Low (libgfx) Vellamo None Low None None Low None None Medium Medium None Geekbench High Low None None None None None None None None GlBenchmark Low None None None None None Low None None Low (libgfx) Bbench Low Low None Low Low None Medium High Very Low Low (libgfx)
  8. 8. Benchmarks >50% 30%< X <50% 10%< X < 30% <10% <10% <10% AndEBench Native libcore_ARM 86% (ndk Toolchain) AndEBench Java Dalvik-jit-cache-code (52%) libdvm(11%) Linpack Dalvik-jit-cache-code (90%) Caffeinemark Dalvik-jit-cache-code (40%) libdvm(4.5%) Antutu CPU & Memory libabenchmark 53%(NDK Toolchain) libc(memcpy 14.25,bcopy 10.8) kernel(10%) Libm(6.25%) Antutu 2D Graphics kernel(30.9%) libc(memcpy 12.28) libskia(3.75%) Antutu 3D Graphics libabenchmark(7.3%) libc(7.7%) kernel(7.3%) Antutu DB IO kernel(31.5%) libc(memcpy 21.5) nbench nbench(40%) libc(bcopy3.9%, memcpy 1.19%) Quadrant CPU Benchmark Dalvik-jit-cache-code (94.11)
  9. 9. Quadrant Memory Benchmark libc(memcpy 38%) kernel(13%) Quadrant IO Benchmark kernel(6.28%) Quadrant 2D Benchmark Libskia(22.3%),kernel(15%) libdvm(7%) Quadrant 3D Benchmark libgfx(9%) kernel(7.11%) libdvm(5.78%) Vellamo libwebcore(12.44%) Unresolved(8.50%) Libskia(8.33%) Geekbench Libgeekbench(58%) Libc(1.54%) GlBenchmark Kernel(3.35%) Libglbenchmark(3.01%) Libgfx (2.74%)
  10. 10. Optimization Opportunities ● Some of the gains already achieved from libc,libm optimization which reflect in benchmark gains. ● Scope for more optimizations in bionic. ● A15 optimization for the same routines. ● Scope for Dalvik JIT,V8 optimizations. ● Add real world use cases for analysis.

×