Dependence of program speed on development tools and syntactic constructions

Authors

DOI:

https://doi.org/10.31558/2786-9482.2024.1.3

Keywords:

Compiler, interpreter, program operation speed, optimization of the program

Abstract

  1. This article proposes the implementation of an automated information system that allows you to research and analyze the influence of development tools and syntactic structures on the speed of the programs. A fragment of the database scheme of this system and a conceptual scheme of the interaction of components are given. The requirements for such a system are formulated. During the implementation of the system, the architecture of three-level databases was used. The specialized application LST Client was used as the client, LST WebService and the MySQL relational DBMS were used as the application server. The LST Client application interacts with the LST Web Service using the Web API and the Application Key. The Application Key is a unique key that is created for each device participating in the study. For those cases when the device to participate in the research is located outside the intranet network, the connection is made in a similar way, but through a specially configured SSH tunnel. For each device, a corresponding user is created with authorization based on a personal RSA key of the maximum length. Numerical studies were performed for programming languages C, C++, Fortran, Java, C#, JavaScript, PHP, Python using compilers/interpreters belonging to the x64 architecture running Windows 10 for educational institutions. The conducted research made it possible to establish that the speed of the program is affected by the version of the compiler / interpreter and the set of syntax constructions used, for example ++i and i++. Only C, C++, and Fortran compilers were able to optimize the code and avoid unnecessary loops. The developed system makes it possible to automate the process of testing the speed of the software code as much as possible. This system can be used to evaluate new versions of programming languages and software. The obtained results make it possible to evaluate the expediency of switching to new versions of the software or to focus students' attention on the weak and strong points of a certain programming language and development tools when teaching disciplines related to programming.

References

Новокшонов, А. К. (2016). Аналіз ефективності реалізації арифметичних алгоритмів на мовах програмування C++ та Python. Проблеми програмування, (2–3), 26–31. https://doi.org/10.15407/pp2016.02-03.026

Prechelt, L. (2000). An empirical comparison of C, C++, Java, Perl, Python, Rexx and Tcl. IEEE Computer, 33(10), 23–29.

Дідух, О. І., Тищенко, В. В. (2015). Порівняння швидкодії Java на мікрокомп’ютері Raspberry Pi. Вісник Національного технічного університету України «Київський політехнічний інститут». Серія: Радіотехніка. Радіоапаратобудування, 60, 107–113.

Антонов, Ю. С., Дзігора, К. Р. (2017). Проблема обрання мови програмування, як інструменту для навчання та розробки. Матеріали наукової конференції професорсько-викладацького складу, наукових працівників і здобувачів наукового ступеня за підсумками науково-дослідної роботи за період 2015–2016 рр. (с. 23–25). Донецький національний університет імені Василя Стуса.

Сігунов, О., Демків, Л. (2022). Дослідження швидкодії обробки паралельних запитів хмарними сервісами AWS. Електроніка та інформаційні технології, 20, 30–41. http://dx.doi.org/10.30970/eli.20.4

Pereira, R., Couto, M., Ribeiro, F., Rua, R., Cunha, J., Fernandes, J. P., & Saraiva, J. (2021). Ranking programming languages by energy efficiency. Science of Computer Programming, 205. https://doi.org/10.1016/j.scico.2021.102609

Gordillo, A., Calero, C., Moraga, M. Á. et al. (2024). Programming languages ranking based on energy measurements. Software Quality Journal. https://doi.org/10.1007/s11219-024-09690-4

Published

2024-10-10

How to Cite

[1]
Антонов, Ю. 2024. Dependence of program speed on development tools and syntactic constructions. Ukrainian Journal of Information Systems and Data Science. 1 (Oct. 2024), 27–39. DOI:https://doi.org/10.31558/2786-9482.2024.1.3.