SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Optimization & Performance Tuning in Mobile Systems,  Advanced Level Raghu Sesha Iyengar
Agenda ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is Optimization ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
What is Optimization Optimization applies to all aspects of mobile system Typical software architecture of a mobile phone (Android as an example) Source:http://developer.android.com Processor RAM Peripherals HARDWARE
Why to optimize ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Pitfalls of optimization ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
When to optimize ,[object Object],[object Object],Platform and  framework Decisions Compiler/Assembler Decisions Design Optimize Code Code Optimize Design Measure Parameters Compare with  Benchmark Start Stop The Optimization Cycle
When to optimize Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Source: http://www.phonegg.com Effort Returns Low Low High High 5MP MeeGo 480x1024px - - - LG Gw990 5MP Bada 480x800px 2GB 512MB 1GHz Samsung S8500 Wave 5MP Linux 800x480px 32GB 256MB 600MHz Nokia N900 3MP MAC OS X 320x480px 16GB 256MB 600MHz iPhone 3GS 5MP Android 480x800px 512MB 512MB 1GHZ HTC Nexus One 5MP Android 480x854px 16GB 256MB 550MHZ Droid Camera OS Display Internal Memory Ram Processor  Speed
When to optimize ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize ,[object Object],[object Object],Platform and  framework Decisions Compiler/Assembler Decisions Design Optimize Code Code Optimize Design Measure Parameters Compare with  Benchmark Start Stop The Optimization Cycle
Parameters for Optimization ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Profilers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Profilers ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Benchmarks ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
References ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Thank You Raghu Sesha Iyengar [email_address] Mobile Developer Conference  by MoMoB http://momob.in
Additional Slides
When to optimize Source: Software Optimization for high performance computing By Kevin R. Wadleigh, Isom L. Crawford Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize Source: Software Optimization for high performance computing By Kevin R. Wadleigh, Isom L. Crawford Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize Source: Optimizing Software in C++ Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize Source:http://www.linuxjournal.com/article/7269 Optimization Levels in GCC Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Source:http://www.linuxjournal.com/article/7269 Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize Source:http://reallylongword.org/prelink-2/ 700MHz Athlon, 768MB RAM, Linux 2.4.21  Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize ,[object Object],Source: Software Optimization for high performance computing By Kevin R. Wadleigh, Isom L. Crawford Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
When to optimize Lookup Tables Boundary checking Source: Software Optimization for high performance computing By Kevin R. Wadleigh, Isom L. Crawford Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High

Weitere ähnliche Inhalte

Ähnlich wie Optimization In Mobile Systems

Java Performance & Profiling
Java Performance & ProfilingJava Performance & Profiling
Java Performance & ProfilingIsuru Perera
 
Production profiling what, why and how (JBCN Edition)
Production profiling  what, why and how (JBCN Edition)Production profiling  what, why and how (JBCN Edition)
Production profiling what, why and how (JBCN Edition)RichardWarburton
 
Continuous Profiling in Production: What, Why and How
Continuous Profiling in Production: What, Why and HowContinuous Profiling in Production: What, Why and How
Continuous Profiling in Production: What, Why and HowSadiq Jaffer
 
OTM Performance Review and Benchmarking
OTM Performance Review and BenchmarkingOTM Performance Review and Benchmarking
OTM Performance Review and BenchmarkingMavenWire
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellenceveehikle
 
Production profiling what, why and how technical audience (3)
Production profiling  what, why and how   technical audience (3)Production profiling  what, why and how   technical audience (3)
Production profiling what, why and how technical audience (3)RichardWarburton
 
Setting Up Sumo Logic - Apr 2017
Setting Up Sumo Logic - Apr 2017Setting Up Sumo Logic - Apr 2017
Setting Up Sumo Logic - Apr 2017Sumo Logic
 
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated SystemsPetapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated Systemsdairsie
 
Production profiling: What, Why and How
Production profiling: What, Why and HowProduction profiling: What, Why and How
Production profiling: What, Why and HowRichardWarburton
 
System Architecture Exploration Training Class
System Architecture Exploration Training ClassSystem Architecture Exploration Training Class
System Architecture Exploration Training ClassDeepak Shankar
 
Introduction to architecture exploration
Introduction to architecture explorationIntroduction to architecture exploration
Introduction to architecture explorationDeepak Shankar
 
Thesis presentation - BSc
Thesis presentation - BScThesis presentation - BSc
Thesis presentation - BScShamimul Alam
 
Performance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cPerformance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cAjith Narayanan
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahuDr. Prakash Sahu
 
Server Monitoring (Scaling while bootstrapped)
Server Monitoring  (Scaling while bootstrapped)Server Monitoring  (Scaling while bootstrapped)
Server Monitoring (Scaling while bootstrapped)Ajibola Aiyedogbon
 
Performance testingfromthecloud_usingBlazemeter
Performance testingfromthecloud_usingBlazemeterPerformance testingfromthecloud_usingBlazemeter
Performance testingfromthecloud_usingBlazemeterMohit Verma
 

Ähnlich wie Optimization In Mobile Systems (20)

Java Performance & Profiling
Java Performance & ProfilingJava Performance & Profiling
Java Performance & Profiling
 
Choosing the right processor
Choosing the right processorChoosing the right processor
Choosing the right processor
 
Production profiling what, why and how (JBCN Edition)
Production profiling  what, why and how (JBCN Edition)Production profiling  what, why and how (JBCN Edition)
Production profiling what, why and how (JBCN Edition)
 
Continuous Profiling in Production: What, Why and How
Continuous Profiling in Production: What, Why and HowContinuous Profiling in Production: What, Why and How
Continuous Profiling in Production: What, Why and How
 
OTM Performance Review and Benchmarking
OTM Performance Review and BenchmarkingOTM Performance Review and Benchmarking
OTM Performance Review and Benchmarking
 
T3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of ExcellenceT3 Consortium's Performance Center of Excellence
T3 Consortium's Performance Center of Excellence
 
Production profiling what, why and how technical audience (3)
Production profiling  what, why and how   technical audience (3)Production profiling  what, why and how   technical audience (3)
Production profiling what, why and how technical audience (3)
 
Setting Up Sumo Logic - Apr 2017
Setting Up Sumo Logic - Apr 2017Setting Up Sumo Logic - Apr 2017
Setting Up Sumo Logic - Apr 2017
 
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated SystemsPetapath HP Cast 12 - Programming for High Performance Accelerated Systems
Petapath HP Cast 12 - Programming for High Performance Accelerated Systems
 
Production profiling: What, Why and How
Production profiling: What, Why and HowProduction profiling: What, Why and How
Production profiling: What, Why and How
 
System Architecture Exploration Training Class
System Architecture Exploration Training ClassSystem Architecture Exploration Training Class
System Architecture Exploration Training Class
 
Introduction to architecture exploration
Introduction to architecture explorationIntroduction to architecture exploration
Introduction to architecture exploration
 
Thesis presentation - BSc
Thesis presentation - BScThesis presentation - BSc
Thesis presentation - BSc
 
Performance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12cPerformance Tuning Oracle Weblogic Server 12c
Performance Tuning Oracle Weblogic Server 12c
 
Performance eng prakash.sahu
Performance eng prakash.sahuPerformance eng prakash.sahu
Performance eng prakash.sahu
 
Server Monitoring (Scaling while bootstrapped)
Server Monitoring  (Scaling while bootstrapped)Server Monitoring  (Scaling while bootstrapped)
Server Monitoring (Scaling while bootstrapped)
 
SCOM Tips and Tricks
SCOM Tips and TricksSCOM Tips and Tricks
SCOM Tips and Tricks
 
Load Runner
Load RunnerLoad Runner
Load Runner
 
Performance testingfromthecloud_usingBlazemeter
Performance testingfromthecloud_usingBlazemeterPerformance testingfromthecloud_usingBlazemeter
Performance testingfromthecloud_usingBlazemeter
 
Kscope presentation 2013
Kscope presentation 2013Kscope presentation 2013
Kscope presentation 2013
 

Mehr von momobangalore

Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Osmomobangalore
 
Mdc2010 Casual Game Dev
Mdc2010 Casual Game DevMdc2010 Casual Game Dev
Mdc2010 Casual Game Devmomobangalore
 
Mdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile TestingMdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile Testingmomobangalore
 
Mob Dev Conf Enterprise Apps 0 1
Mob Dev Conf Enterprise Apps 0 1Mob Dev Conf Enterprise Apps 0 1
Mob Dev Conf Enterprise Apps 0 1momobangalore
 
Mobile Developer Conference Emerging Edition
Mobile Developer Conference Emerging EditionMobile Developer Conference Emerging Edition
Mobile Developer Conference Emerging Editionmomobangalore
 
momob august 2009 event
momob august 2009 eventmomob august 2009 event
momob august 2009 eventmomobangalore
 
Mobile Payments mChek
Mobile Payments mChekMobile Payments mChek
Mobile Payments mChekmomobangalore
 

Mehr von momobangalore (11)

Portinig Application, Drivers And Os
Portinig Application, Drivers And OsPortinig Application, Drivers And Os
Portinig Application, Drivers And Os
 
Mdc2010 Key Note
Mdc2010 Key NoteMdc2010 Key Note
Mdc2010 Key Note
 
Mdc2010 Casual Game Dev
Mdc2010 Casual Game DevMdc2010 Casual Game Dev
Mdc2010 Casual Game Dev
 
Mdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile TestingMdc2010 Automated Mobile Testing
Mdc2010 Automated Mobile Testing
 
Mdc2010 Edwin
Mdc2010 EdwinMdc2010 Edwin
Mdc2010 Edwin
 
Mob Dev Conf Enterprise Apps 0 1
Mob Dev Conf Enterprise Apps 0 1Mob Dev Conf Enterprise Apps 0 1
Mob Dev Conf Enterprise Apps 0 1
 
Mobile Developer Conference Emerging Edition
Mobile Developer Conference Emerging EditionMobile Developer Conference Emerging Edition
Mobile Developer Conference Emerging Edition
 
MoMo Oct Event
MoMo Oct EventMoMo Oct Event
MoMo Oct Event
 
momob august 2009 event
momob august 2009 eventmomob august 2009 event
momob august 2009 event
 
Mobile Payments mChek
Mobile Payments mChekMobile Payments mChek
Mobile Payments mChek
 
Mo Mo Eko
Mo Mo   EkoMo Mo   Eko
Mo Mo Eko
 

Optimization In Mobile Systems

  • 1. Optimization & Performance Tuning in Mobile Systems, Advanced Level Raghu Sesha Iyengar
  • 2.
  • 3.
  • 4. What is Optimization Optimization applies to all aspects of mobile system Typical software architecture of a mobile phone (Android as an example) Source:http://developer.android.com Processor RAM Peripherals HARDWARE
  • 5.
  • 6.
  • 7.
  • 8. When to optimize Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Source: http://www.phonegg.com Effort Returns Low Low High High 5MP MeeGo 480x1024px - - - LG Gw990 5MP Bada 480x800px 2GB 512MB 1GHz Samsung S8500 Wave 5MP Linux 800x480px 32GB 256MB 600MHz Nokia N900 3MP MAC OS X 320x480px 16GB 256MB 600MHz iPhone 3GS 5MP Android 480x800px 512MB 512MB 1GHZ HTC Nexus One 5MP Android 480x854px 16GB 256MB 550MHZ Droid Camera OS Display Internal Memory Ram Processor Speed
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22. Thank You Raghu Sesha Iyengar [email_address] Mobile Developer Conference by MoMoB http://momob.in
  • 24. When to optimize Source: Software Optimization for high performance computing By Kevin R. Wadleigh, Isom L. Crawford Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
  • 25. When to optimize Source: Software Optimization for high performance computing By Kevin R. Wadleigh, Isom L. Crawford Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
  • 26. When to optimize Source: Optimizing Software in C++ Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
  • 27. When to optimize Source:http://www.linuxjournal.com/article/7269 Optimization Levels in GCC Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
  • 28.
  • 29. When to optimize Source:http://reallylongword.org/prelink-2/ 700MHz Athlon, 768MB RAM, Linux 2.4.21 Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High
  • 30.
  • 31. When to optimize Lookup Tables Boundary checking Source: Software Optimization for high performance computing By Kevin R. Wadleigh, Isom L. Crawford Platform and framework Decisions Compiler Decisions Design Optimization Code Optimization Effort Returns Low Low High High