Оптимізація продуктивності Python-програм за допомогою Just-In-Time компіляції на прикладі PyPy та Numba з порівнянням швидкодії та аналізом застосовності в різних класах задач

Ключові слова: Python, JIT-компіляція, PyPy, Numba, продуктивність програм, CPU-bound задачі, I/O-bound задачі, чисельні обчислення, оптимізація коду

Анотація

У статті досліджено оптимізацію продуктивності програм, написаних на мові Python, за допомогою технології Just-In-Time (JIT) компіляції на прикладі PyPy та Numba. Розглянуто архітектурні особливості обох підходів, їхні механізми прискорення виконання програм та сфери ефективного застосування. Проведено експериментальне порівняння продуктивності у трьох класах задач: CPU-bound (процесорно-інтенсивні обчислення), I/O-bound (операції введення/виведення) та чисельні обчислення з використанням бібліотеки NumPy. Результати показують, що JIT-компіляція забезпечує суттєве прискорення для CPU-bound та чисельних задач, тоді як для I/O-bound задач вплив на продуктивність мінімальний. PyPy демонструє стабільне прискорення для чистого Python-коду, тоді як Numba значно підвищує ефективність чисельних операцій, зокрема матричних обчислень, інтегрування та статистичних задач. На основі отриманих даних сформульовано практичні рекомендації щодо вибору оптимальної технології для різних класів програм, що має значення для наукових і промислових застосувань. Дослідження підкреслює наукову новизну у порівняльному аналізі JIT-компіляторів Python та визначає перспективи подальшого вдосконалення продуктивності програм через інтеграцію з багатопоточними та GPU-обчисленнями.

Посилання

Петрик Я. JIT компіляція динамічних мов програмування : [кваліфікаційна робота]. Київ : Національний університет «Києво-Могилянська академія», 2022. URL: https://ekmair.ukma.edu.ua/server/api/core/bitstreams/30e56beb-4053-4bf2-9dd2-ddc8420bbbd5/content (дата звернення: 2.09.2025).

Прискорення виконання ресурсномістких завдань у Python // FoxmindEd. 2025. URL: https://foxminded.ua/pryskorennia-vykonannia-resursnomistkykh-zavdan-u-python/ (дата звернення: 2.09.2025).

10 практик коду, що прискорюють виконання програм на Python // Senior.ua. 2019. URL: https://senior.ua/articles/10-praktik-kodu-scho-priskoryuyut-vikonannya-program-na-python (дата звернення: 10.09.2025).

Castro O., Bruneau P., Sottet J.-S., Torregrossa D. Landscape of High-Performance Python to Develop Data Science and Machine Learning Applications // ACM Computing Surveys. — 2023. — Vol. 56, No. 3, Article 65, 30 p. — DOI: 10.1145/3617588.

Milla A. Performance Comparison of Python Translators for a Multi-threaded CPU-Bound Application [Electronic resource] // arXiv. — 2022. — arXiv:2203.08263. — URL: https://arxiv.org/pdf/2203.08263.pdf (дата звернення: 20.02.2026).

Опубліковано
2026-03-28
Як цитувати
Глинчук , Л. (2026). Оптимізація продуктивності Python-програм за допомогою Just-In-Time компіляції на прикладі PyPy та Numba з порівнянням швидкодії та аналізом застосовності в різних класах задач. КОМП’ЮТЕРНО-ІНТЕГРОВАНІ ТЕХНОЛОГІЇ: ОСВІТА, НАУКА, ВИРОБНИЦТВО, (62), 162-170. https://doi.org/10.36910/6775-2524-0560-2026-62-19
Розділ
Інформатика та обчислювальна техніка