Empirical Evaluation of Performance Optimization Techniques Used in Mobile Applications
Authors: Nathar Shah, Bu Kiat Seng
Abstract:
Mobile application development is different from regular application development due to the hardware resource limitations existed in the mobile platforms. In the mobile environment, the application needs to be optimized by the developer to produce optimal software with least overhead. This study discussed about performance optimization techniques that are employed in general application development, and how such techniques are performing on mobile platforms through some empirical evaluations on a mobile emulator, Nokia X3-02 and Nokia C5-03devices. The scope of the work is only confined to mobile platform based on Java Mobile edition architecture. The empirical results showed that techniques such as loop unrolling, dependency chain, and linearized getter and setter performed better by a factor of 3 to 7. Whereas declaration and initialization on the same line or separate line did not improve the performance.
Keywords: Optimization Techniques, Mobile Applications, Performance Evaluation, J2ME, Empirical Experiments
Digital Object Identifier (DOI): doi.org/10.5281/zenodo.1336216
Procedia APA BibTeX Chicago EndNote Harvard JSON MLA RIS XML ISO 690 PDF Downloads 1602References:
[1] Chehimi, F., P. Coulton and R.F. Edwards, 2006. C++ optimizations for mobile applications. In: Proceedings of the IEEE 10th International Symposium on Consumer Electronics, June 28-July 1, 2006, Russia, pp: 1-6.
[2] Hanson, J., 2006. Accelerating compute intensive functions using C. http://www.drdobbs.com/windows/184406483?pgno=2.
[3] Jeffrey, S., 2009. Coding for life -- battery life, that is. San Francisco, CA, USA., http://www.google.com/events/io/2009/sessions/ CodingLifeBatteryLife.html
[4] Kalev, D., 2001. The top 20 C++ tips of all time. http://www.devx.com/cplus/Article/16328
[5] Zeichick, A., 2004. Optimizing Your C/C++ Applications, Part 1. http://developer.amd.com/documentation/articles/pages/6212004126.aspx.
[6] Tierno, J. and C. Campo, 2005. Smart Camera Phones: Limits and Applications. Pervasive Computing, IEEE, Vol 4, Issue 2, pp. 84-87.
[7] Campo, C., C. Garcia-Rubio and A. Cortes, 2009. Performance Evaluation of J2ME and Symbian Applications in Smart Camera Phones, 3rd Symposium of Ubiquitous Computing and Ambient Intelligence 2008, Vol 51/2009, pp. 48-56.
[8] Domer, J., M. Nanja, S. Srinivas and B. Keshavachar, 2004. Comparative performance analysis of mobile runtimes on Intel XScale technology. Proceedings of the 2004 Workshop on Interpreters, Virtual Machines and Emulators, June 7, 2004, Washington, DC., USA., pp: 51-57.
[9] Shirazi, J., 2003. Java Performance Tuning (2nd Edition), O’Reilly Media, USA., Pages: 570.
[10] Wilson, S. and J. Kesselman, 2000. Java Platform Performance: Strategies and Tactics, Addison-Wesley, New York, ISBN: 9780201709698, Pages: 230.
[11] Mihailescu, P., H. Lee and J. Shepherdson, 2005. Optimization techniques for J2ME based mobile application. Proceedings of the 5th WSEAS International Confernce on Applied Informatics and Communication, September 15-17, 2005, Malta, pp: 181-186.
[12] Tyma, P., 1996. Tuning Java Performance, Dr. Dobb’s Journal, Vol 21, No. 4, pp 52 – 58.
[13] Muller, G., B. Moura, F. Bellard and C. Consel, 1996. Harissa: A flexible and efficient java environment mixing bytecode and compiled code. Proceedings of the 3rd USENIX Conference on Object-Oriented Technologies and Systems, June 17-21, 1996, Toronto, Ontario, Canada, pp: 1-20.
[14] Ishizaki, K., M. Kawahito, T. Yasue, H. Komatsu and T. Nakatani, 2000. A study of devirtualization techniques for a Java Just-In-Time compiler. Proceedings of the 15th ACM SIGPLANconference on Object-oriented programming,systems, languages and applications, October 15-19, 2000, Minneapolis, MN, USA., pp: 294-310.
[15] Tomlinson, M., 2012. SOA world magazine. http://soa.sys-con.com/node/2116107.