Skip to main content

Developing and Benchmarking Native Linux Applications on Android

  • Conference paper
MobileWireless Middleware, Operating Systems, and Applications (MOBILWARE 2009)

Abstract

Smartphones get increasingly popular where more and more smartphone platforms emerge. Special attention was gained by the open source platform Android which was presented by the Open Handset Alliance (OHA) hosting members like Google, Motorola, and HTC. Android uses a Linux kernel and a stripped-down userland with a custom Java VM set on top. The resulting system joins the advantages of both environments, while third-parties are intended to develop only Java applications at the moment.

In this work, we present the benefit of using native applications in Android. Android includes a fully functional Linux, and using it for heavy computational tasks when developing applications can bring in substantional performance increase. We present how to develop native applications and software components, as well as how to let Linux applications and components communicate with Java programs. Additionally, we present performance measurements of native and Java applications executing identical tasks.

The results show that native C applications can be up to 30 times as fast as an identical algorithm running in Dalvik VM. Java applications can become a speed-up of up to 10 times if utilizing JNI.

The original version of this chapter was revised: The copyright line was incorrect. This has been corrected. The Erratum to this chapter is available at DOI: 10.1007/978-3-642-01802-2_30

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Android - An Open Handset Alliance Project (2008/12/05), http://code.google.com/android/

  2. Android Open Source Project (2008/12/05), http://source.android.com/

  3. Android Market (2008/12/05), http://www.android.com/market/

  4. Android Developer Mailing List Post (2008/12/05), http://groups.google.com/group/android-developers/browse_thread/thread/f87e6fce2b26db36

  5. Reinholtz, K.: Java will be faster than C++. ACM SIGPLAN Not. 35, 25–28 (2000)

    Article  Google Scholar 

  6. Eclipse Intergrated Development Environment (2008/12/05), http://www.eclipse.org/

  7. Netbeans Intergrated Development Environment (2008/12/05), http://www.netbeans.org/

  8. Codesourcery (2008/12/05), http://www.codesourcery.com/

  9. Scratchbox (2008/12/05), http://www.scratchbox.org/

  10. Ubuntu Home Page (2008/12/05), http://www.ubuntu.com/

  11. Busybox (2008/12/05), http://www.busybox.net/

  12. Unnamed Pipes (2008/12/05), http://docs.sun.com/app/docs/doc/816-1042/6m7g4ma79

  13. Named Pipes (FIFOs) (2008/12/05), http://docs.sun.com/app/docs/doc/816-1042/6m7g4ma7a

  14. HTC T-Mobile G1 (2008/12/05), http://www.htc.com/www/product/g1/overview.html

  15. Schmidt, A.-D., Schmidt, H.-G., Clausen, J., Yüksel, K.A., Kiraz, O., Camtepe, A., Albayrak, S.: Enhancing Security of Linux-based Android Devices. In: Proceedings of 15th International Linux Kongress. Lehman Verlag, Hamburg (2008)

    Google Scholar 

  16. McConnel, S.: Code Complete, 2nd edn., pp. 180–197. Microsoft Press, Redmond (2004)

    Google Scholar 

  17. Knuth, D.E.: The Art of Computer Programming, 2nd edn. Sorting and Searching, vol. 3, pp. 180–197. Addison-Wesley, Reading (1997)

    Google Scholar 

  18. Hoare, C.A.R.: Quicksort. Computer Journal 5(1), 10–15 (1962)

    Article  MathSciNet  MATH  Google Scholar 

  19. Williams, J.W.J.: Algorithm 232 - Heapsort. Communications of the ACM 7(6), 347–348 (1964)

    Google Scholar 

  20. Okumura, T., Childers, B., Mossé, B.: Running a Java VM Inside an Operating System Kernel. In: VEE 2008: Proceedings of the fourth ACM SIGPLAN/SIGOPS international conference on Virtual execution environments, Seattle, WA, USA (2008)

    Google Scholar 

  21. Dongarra, J.J.: The LINPACK Benchmark: An explanation. In: Houstis, E.N., Polychronopoulos, C.D., Papatheodorou, T.S. (eds.) ICS 1987. LNCS, vol. 297. Springer, Heidelberg (1988)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 ICST Institute for Computer Science, Social Informatics and Telecommunications Engineering

About this paper

Cite this paper

Batyuk, L., Schmidt, AD., Schmidt, HG., Camtepe, A., Albayrak, S. (2009). Developing and Benchmarking Native Linux Applications on Android. In: Bonnin, JM., Giannelli, C., Magedanz, T. (eds) MobileWireless Middleware, Operating Systems, and Applications. MOBILWARE 2009. Lecture Notes of the Institute for Computer Sciences, Social Informatics and Telecommunications Engineering, vol 7. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-01802-2_28

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-01802-2_28

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-01801-5

  • Online ISBN: 978-3-642-01802-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics