lce12: android mini-summit (benchmarking and optimization opportunities)

13
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

Upload: linaro

Post on 13-Jun-2015

266 views

Category:

Technology


1 download

DESCRIPTION

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

TRANSCRIPT

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

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

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

Recap

● Linaro Android as a Benchmarking Platform● Integrate ARM's system benchmarks into LAVA● Perform hotspot analysis of benchmarking APKs and

browser benchmarks

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

Benchmarks Integrated● AndEBench● Antutu● Linpack● CaffeineMark● GLBenchmark● GeekBench 2● Quadrant● Vellamo● NBench● Methanol

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

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.

Page 5: LCE12: Android Mini-Summit (Benchmarking and Optimization Opportunities)
Page 6: LCE12: Android Mini-Summit (Benchmarking and Optimization Opportunities)
Page 7: LCE12: Android Mini-Summit (Benchmarking and Optimization Opportunities)
Page 8: LCE12: Android Mini-Summit (Benchmarking and Optimization Opportunities)

Benchmark GainsAOSP + 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 %

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

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

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

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)

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

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)

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

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%)

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

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.