Performance evaluation of list iteration methods in Java: an empirical study

  • Saman A. Barakat Software Engineering and Embedded Systems (SEES) Research Group, Department of Computer Science, College of Science, University of Duhok, Duhok, Kurdistan Region, Iraq https://orcid.org/0000-0002-7714-3742
  • Qusay I. Sarhan Software Engineering and Embedded Systems (SEES) Research Group, Department of Computer Science, College of Science, University of Duhok, Duhok, Kurdistan Region, Iraq https://orcid.org/0000-0001-8708-0063
Palabras clave: Performance evaluation, Lists, List iteration methods, List iteration time, Test methodology

Resumen

Introduction: Lists are used in various software applications including web applications, desktop applications, and Internet of Things (IoT) applications to store different types of items (e.g. country name, product model, and device category). Users can select one or more of these items to perform specific tasks such as filling forms, ordering products, reading device data, etc. In some software applications, lists store a huge number of items to be iterated over in order to know what users have selected. From a software development perspective, there are a number of methods to iterate over list items. Materials and Methods: In this paper, five list iteration methods: Classic For, Enhanced For, Iterator, List Iterator, and For Each have been compared experimentally with each other with regard to their performance (execution time required to iterate over list items). Thus, a number of experimental test scenarios have been conducted to obtain comparable results. Results and Discussion: The experimental results of this study have been presented in Table 4. Conclusions: Overall performance evaluation showed that Iterator and List Iterator methods outperformed other list iteration methods in all test scenarios. However, List Iterator outperformed Iterator when the list size was small. On the other hand, Iterator outperformed List Iterator when the list size was large.

Citas

Mingyao X, Xiongfei L. Embedded database query optimization algorithm based on particle swarm optimization. Proceedings of the 7th International Conference on Measuring Technology and Mechatronics Automation; 2015 June 13-14; Nanchang, China; IEEE; 2015. p. 429-432. https://doi.org/10.1109/ICMTMA.2015.109

Oh G, Kim S, Lee SW, Moon B. SQLite optimization with phase change memory for mobile applications. Proc. VLDB Endow. 2015; 8(12): 1454-65. https://doi.org/10.14778/2824032.2824044

Kang W, Son SH, Stankovic JA. Design, implementation, and evaluation of a QoS-aware real-time embedded database. IEEE Transactions on Computers. 2012; 61(1): 45-59. https://doi.org/10.1109/TC.2010.240

H2 Database Engine (redirect) [Internet]. H2database.com. [cited 1 October 2018]. Available from: https://www.h2database.com

HSQLDB [Internet]. Hsqldb.org. [cited 1 October 2018]. Available from: http://hsqldb.org/

Apache Derby [Internet]. Db.apache.org. [cited 1 October 2018]. Available from: https://db.apache.org/derby/

SQLite Home Page [Internet]. Sqlite.org. [cited 1 October 2018]. Available from: https://sqlite.org/index.html

Ray S, Simion B, Brown AD. Jackpine: A benchmark to evaluate spatial database performance. Proceedings of the 27th International Conference on Data Engineering; 2011 April 11-16; Hannover, Germany; IEEE; 2011. p. 1139-1150. https://doi.org/10.1109/ICDE.2011.5767929

Kabakus AT, Kara R. A performance evaluation of in-memory databases. Journal of King Saud University-Computer and Information Sciences. 2017; 29(4): 520-5. https://doi.org/10.1016/j.jksuci.2016.06.007

Song W, Tao T, Gao T. Performance optimization for flash memory database in mobile embedded system. Proceedings of the 2nd International Workshop on Education Technology and Computer Science; 2010 March 6-7; Wuhan, China; IEEE; 2010. p. 35-39. https://doi.org/10.1109/ETCS.2010.109

Olson MA. Selecting and implementing an embedded database system. Computer. 2000; 33(9): 27-34. https://doi.org/10.1109/2.868694

Li Y, Manoharan S. A performance comparison of SQL and NoSQL databases. Proceedings of the IEEE Pacific Rim Conference on Communications, Computers and Signal Processing (PACRIM); 2013 August 27-29; Victoria, BC, Canada; IEEE; 2013. p. 15-19. https://doi.org/10.1109/PACRIM.2013.6625441

Patchigolla VN, Springer J, Lutes K. Embedded database management performance. Proceedings of the 8th International Conference on Information Technology: New Generations; 2011 April 11-13; Las Vegas, NV, USA; IEEE; 2011. p. 998-1001. https://doi.org/10.1109/ITNG.2011.171

Tonghui Q, Yang Q, Limin C, Zili S, Xiaowu C, Dehua L. The design of embedded database management system for mobile computing. Proceedings of the International Conference on Computer Science and Information Processing (CSIP); 2012 August 24-26; Xi'an, Shaanxi, China; IEEE; 2012. p. 1454-1457.

Batra R. A Primer on SQL. 3rd ed. Leanpub; 2015.

Sarhan QI, Gawdan IS. Web Applications and Web Services: A Comparative Study. Science Journal of University of Zakho. 2018; 6(1): 35-41. https://doi.org/10.25271/2018.6.1.375

Sarhan QI. Internet of things: a survey of challenges and issues. International Journal of Internet of Things and Cyber-Assurance. 2018; 1(1): 40-75. https://doi.org/10.1504/IJITCA.2018.090162

Sarhan QI, Gawdan IS. Java Message Service Based Performance Comparison of Apache ActiveMQ and Apache Apollo Brokers. Science Journal of University of Zakho. 2017; 5(4): 307-12. https://doi.org/10.25271/2017.5.4.376

Publicado
2018-12-28
Cómo citar
Barakat, S. A., & Sarhan, Q. I. (2018). Performance evaluation of list iteration methods in Java: an empirical study. Revista Innovaciencia , 6(1), 1-6. https://doi.org/10.15649/2346075X.467
Sección
Artículo de investigación científica y tecnológica