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

Deitel P. and Deitel H., Java™ How to Program, 10th Edition, Pearson, 2015.

Sarhan QI, Gawdan IS. Web Applications and Web Services: A Comparative Study. Sci J Univ Zakho [Internet]. 2018;6(1):35–41. Available from: https://doi.org/10.25271/2018.6.1.375

Sarhan QI. Internet of things: a survey of challenges and issues. Int J Internet Things Cyber-Assurance [Internet]. 2018;1(1):40. Available from: http://www.inderscience.com/link.php?id=90162

Gupta A, Ashraf M. Comparative analysis of encapsulated Java collection framework based on storage attributes. In: International Conference on Computing, Communication & Automation [Internet]. IEEE; 2015. p. 914–7. Available from: http://ieeexplore.ieee.org/document/7148506/

Oracle Website: https://docs.oracle.com/javase/tutorial, accessed 02/09/2018.

Togashi N, Klyuev V. Concurrency in Go and Java: Performance analysis. In: 2014 4th IEEE International Conference on Information Science and Technology [Internet]. IEEE; 2014. p. 213–6. Available from: http://ieeexplore.ieee.org/document/6920368/

Das S, Kone V. Ruby under Scanner : Comparison with Java, University of California, technical report, 2010. Available from: https://pdfs.semanticscholar.org/8a06/b3a1694b7ee9ac3b2211b7cbc05efc7528ee.pdf

Hundt R. Loop Recognition in C ++ / Java / Go / Scala. Proc Scala Days. 2011;1(1):38–47.

Wendykier P, Borucki B, Nowinski KS. Large Java arrays and their applications. In: 2015 International Conference on High Performance Computing & Simulation (HPCS) [Internet]. IEEE; 2015. p. 460–7. Available from: http://ieeexplore.ieee.org/document/7237077/

Costa D, Andrzejak A, Seboek J, Lo D. Empirical Study of Usage and Performance of Java Collections. In: Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering - ICPE ’17 [Internet]. New York, New York, USA: ACM Press; 2017. p. 389–400. Available from: http://dl.acm.org/citation.cfm?doid=3030207.3030221

Sarhan QI, Gawdan IS. Java Message Service Based Performance Comparison of Apache Activemq and Apache Apollo Brokers. Sci J Univ Zakho [Internet]. 2017;5(4):307–12. Available from: https://doi.org/10.25271/2017.5.4.376

Corral-García J, González-Sánchez J-L, Pérez-Toledano M-Á. Evaluation of Strategies for the Development of Efficient Code for Raspberry Pi Devices. Sensors [Internet]. 2018 Nov 21;18(11):4066. Available from: http://www.mdpi.com/1424-8220/18/11/4066

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. INNOVACIENCIA, 6(1), 1-6. https://doi.org/10.15649/2346075X.467
Sección
Artículo de investigación científica y tecnológica