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.
Keywords
- software
- performance
- smartphones
- android
- C
- Java
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, access via your institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Android - An Open Handset Alliance Project (2008/12/05), http://code.google.com/android/
Android Open Source Project (2008/12/05), http://source.android.com/
Android Market (2008/12/05), http://www.android.com/market/
Android Developer Mailing List Post (2008/12/05), http://groups.google.com/group/android-developers/browse_thread/thread/f87e6fce2b26db36
Reinholtz, K.: Java will be faster than C++. ACM SIGPLAN Not. 35, 25–28 (2000)
Eclipse Intergrated Development Environment (2008/12/05), http://www.eclipse.org/
Netbeans Intergrated Development Environment (2008/12/05), http://www.netbeans.org/
Codesourcery (2008/12/05), http://www.codesourcery.com/
Scratchbox (2008/12/05), http://www.scratchbox.org/
Ubuntu Home Page (2008/12/05), http://www.ubuntu.com/
Busybox (2008/12/05), http://www.busybox.net/
Unnamed Pipes (2008/12/05), http://docs.sun.com/app/docs/doc/816-1042/6m7g4ma79
Named Pipes (FIFOs) (2008/12/05), http://docs.sun.com/app/docs/doc/816-1042/6m7g4ma7a
HTC T-Mobile G1 (2008/12/05), http://www.htc.com/www/product/g1/overview.html
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)
McConnel, S.: Code Complete, 2nd edn., pp. 180–197. Microsoft Press, Redmond (2004)
Knuth, D.E.: The Art of Computer Programming, 2nd edn. Sorting and Searching, vol. 3, pp. 180–197. Addison-Wesley, Reading (1997)
Hoare, C.A.R.: Quicksort. Computer Journal 5(1), 10–15 (1962)
Williams, J.W.J.: Algorithm 232 - Heapsort. Communications of the ACM 7(6), 347–348 (1964)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)