Залежність швидкодії програм від інструментальних засобів розробки та синтаксичних конструкцій

Автор(и)

DOI:

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

Ключові слова:

компілятор, інтерпретатор, швидкодія, оптимізація роботи програми

Анотація

Запропоновано реалізацію автоматизованої інформаційної системи, що дає змогу досліджувати та аналізувати вплив інструментальних засобів розробки та синтаксичних конструкцій на швидкодію роботи програм. У системі застосовано архітектуру трирівневих баз даних. Спеціалізований додаток LST Client використано як клієнт, LST Web Service як сервер додатків, а MySQL як реляційна СУБД. Взаємодія додатка LST Client з LST Web Service відбувається за допомогою Web API з використанням Application Key. Application Key являє собою унікальний ключ, який створюється для кожного пристрою, що бере участь у дослідженні. Для тих випадків, коли у досліджені має взяти участь пристрій, розташований поза межами intranet-мережі, підключення здійснюється аналогічним способом, але через спеціально налаштований SSH-тунель. Для кожного пристрою створюється відповідний користувач з авторизацією за особистим RSA-ключем максимальної довжини. Дослідження проведено для мов програмування C, C++, Fortran, Java, C#, JavaScript, PHP, Python з використанням компіляторів та інтерпретаторів, що належать до x64 архітектури під керуванням Windows 10 для освітніх установ. Результати експериментів засвідчили, що на швидкодію програми впливає версія компілятора чи інтерпретатора, та набір синтаксичних конструкцій, що використовується, наприклад, ++i та i++. Лише компілятори мов програмування C, C++ та Fortran змогли оптимізувати код та не виконувати зайві цикли. Розроблена система дає змогу максимально автоматизувати процес тестування швидкодії програмного коду. Запропонована система може бути використана для оцінювання нових версій мов програмування та програмного забезпечення. Вона також може бути задіяна під час викладання дисциплін, пов’язаних із програмуванням, для звернення уваги студентів на слабкі та сильні місця мов програмування та інструментальних засобів розробки.

Посилання

Новокшонов, А. К. (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

##submission.downloads##

Опубліковано

2024-12-09

Як цитувати

[1]
Антонов, Ю. 2024. Залежність швидкодії програм від інструментальних засобів розробки та синтаксичних конструкцій. Ukrainian Journal of Information Systems and Data Science. 1 (Груд 2024), 27–39. DOI:https://doi.org/10.31558/2786-9482.2024.1.3.

Номер

Розділ

АЛГОРИТМИ І СТРУКТУРИ ДАНИХ