Skip to main content
Log in

Android\(^\mathrm{TM}\) development and performance analysis

  • Published:
The Journal of Supercomputing Aims and scope Submit manuscript

Abstract

The advent of emergent systems on chip and MPSocs opens a new era in the small mobile devices (Smartphones, Tablets,...) in terms of computing capabilities and applications to be addressed. Currently, these devices have multicore processors and GPUs which provide high computational power. The efficient use of such devices, including the parallel power, is still a challenge for general-purpose programmers. In the last years Android has become the dominant platform in the small mobile devices. In addition, it has a large community of developers. For application development, Android provides two development kits, the Software Development Kit and Native Development Kit. To exploit the high computational capabilities on current devices, Android provides Renderscript, an API that allows the execution of parallel applications and it is designed to be used in applications that require high computing power. The development model used involves an important impact in the performance of the applications. In this paper, we address the evaluation of the performance on Android platforms. A set of benchmark applications has been implemented to evaluate the performance of the different development models. Sequential and parallel versions of the different development kits are considered in the computational experience. This benchmark and the computational experience achieved are greatly helpful to the programmer for understanding sources of overhead and bottlenecks in the developed code.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

References

  1. SoCC (2014) IEEE International System-on-chip conference. http://www.ieee-socc.org/. Accessed Feb 2014

  2. NVIDIA. Tegra mobile processors: Tegra 2, Tegra 3, Tegra 4 and Tegra K1. http://www.nvidia.com/object/tegra-superchip.html. Accessed Feb 2014

  3. Texas Instruments. OMAP\(^{\rm TM}\) Mobile Processors : OMAP\(^{\rm TM}\) 5 platform. http://www.ti.com/omap5. Accessed Feb 2014

  4. Google. Android mobile platform. http://www.android.com. Accessed Feb 2014

  5. Apple. iOS: Apple mobile operating system. http://www.apple.com/ios. Accessed Feb 2014

  6. Microsoft. Windows Phone: Microsoft mobile operating system. http://www.windowsphone.com/. Accessed Feb 2014

  7. Samsung. Bada: Samsung mobile operating system. http://developer.bada.com. Accessed Feb 2014

  8. Nokia. Nokia Asha: Nokia mobile operating system designed for low-end borderline smartphones. http://www.developer.nokia.com/. Accessed Feb 2014

  9. Reid AD, Flautner K, Grimley-Evans E, Lin Y (2008) SoC-C: efficient programming abstractions for heterogeneous multicore systems on chip. In: Altman ER (ed) Proceedings of the 2008 international conference on compilers, architecture, and synthesis for embedded systems, CASES’08. ACM, Atlanta, pp 95–104

  10. Memoir Systems: Algorithmic Memory\(^{\rm TM}\) technology. http://www.memoir-systems.com/. Accessed Feb 2014

  11. Nvidia: GPUDirect Technology. http://developer.nvidia.com/gpudirect. Accessed Feb 2014

  12. Anandtech. AMD Outlines HSA Roadmap: Unified Memory for CPU/GPU in 2013, HSA GPUs in 2014. http://www.anandtech.com/show/5493/. Accessed Feb 2014

  13. Android. Android, the world’s most popular mobile platform. http://developer.android.com/about. Accessed Feb 2014

  14. Cinar O (2012) Pro Android C++ with the NDK. Apress

  15. Wilson S, Kesselman J (2000) Java platform performance—strategies and tactics. Addison-Wesley, USA

    Google Scholar 

  16. Kurzyniec D, Sunderam V (2001) Efficient cooperation between java and native codes jni performance benchmark. In: The 2001 international conference on parallel and distributed processing techniques and applications

  17. Guihot H (2012) Pro Android Apps performance optimization. Apressus Series, Apress

  18. Sams J. Levels in renderscript. http://android-developers.blogspot.com.es/2012/01/levels-in-renderscript.html. Accessed Feb 2014

  19. Sams J. Evolution of renderscript performance. http://android-developers.blogspot.com.es/2013/01/evolution-of-renderscript-performance.html. Accessed Feb 2014

  20. Android: NDK. http://developer.android.com/tools/sdk/ndk/index.html. Accessed Feb 2014

  21. ARM: Architecture reference manuals. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.subset.architecture.reference. Accessed Feb 2014

  22. ARM: VFPv3 architecture and thumb-2 instruction set. http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.ddi0344c/Beiiegaf.html. Accessed Feb 2014

  23. Android: Renderscript. http://developer.android.com/guide/topics/renderscript/compute.html. Accessed Feb 2014

  24. CLANG. A C language family frontend for LLVM. http://clang.llvm.org/. Accessed Feb 2014

  25. AOSP: Android Open Source Project. http://source.android.com/. Accessed Feb 2014

  26. IEEE. 754-2008 - IEEE Standard for Floating-Point Arithmetic. http://dx.doi.org/10.1109/IEEESTD.2008.4610935

Download references

Acknowledgments

This work has been supported by the EC (FEDER) and the Spanish MEC with the I+D+I contract number: TIN2011-24598.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Alejandro Acosta.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Acosta, A., Almeida, F. Android\(^\mathrm{TM}\) development and performance analysis. J Supercomput 70, 649–659 (2014). https://doi.org/10.1007/s11227-014-1119-8

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11227-014-1119-8

Keywords

Navigation