Preview

Электронные библиотеки

Расширенный поиск

Перспективы роста производительности параллельных вычислений с помощью технологии субинтерпретаторов в Python

https://doi.org/10.26907/1562-5419-2025-28-2-432–453

Аннотация


Рассмотрена проблема влияния глобальной блокировки интерпретатора на производительность многопоточных приложений в Python. Описана концепция субинтерпретаторов как одного из решений, позволяющих обходить ограничения GIL и обеспечивать эффективное параллельное выполнение кода. Проведен сравнительный анализ субинтерпретаторов с традиционными методами параллельных вычислений, такими как использование процессов и потоков. Результаты экспериментов показали, что субинтерпретаторы значительно повышают производительность в условиях высоких вычислительных нагрузок. Кроме того, исследованы возможности применения субинтерпретаторов в веб-разработках. Отмечены преимущества использования названного подхода для обработки запросов и управления ресурсами в современных веб-приложениях, что может значительно улучшить их масштабируемость и отклик. Новизна проведенного исследования заключается в глубоком анализе субинтерпретаторов в контексте конкретных сценариев использования, что ранее не получило достаточного освещения в научной литературе. Результаты работы подчеркивают необходимость дальнейшего изучения субинтерпретаторов как альтернативного подхода в Python и интерес к этому разработчиков и исследователей в области высокопроизводительных вычислений.

Об авторе

Роман Дмитриевич Синицын
Российский технологический университет МИРЭА
Россия


Список литературы

1. Официальная документация Python. URL: https://www.python.org/

2. Фаулер, М. Asyncio и конкурентное программирование на Python. М.: ДМК Пресс, 2023. 398 с.

3. Beazley D. Understanding the python GIL // PyCON Python Conference. At-lanta, Georgia, 2010.

4. PEP 684 – A Per-Interpreter GIL. URL: https://peps.python.org/pep-0684/

5. Brownlee J. Python Multiprocessing Jump-Start: Develop Parallel Programs, Side-Step the GIL, and Use All CPU Cores (Python Concurrency Jump-Start Series). 2022. 144с.

6. Roghult A. Benchmarking Python Interpreters: Measuring Performance of CPython, Cpython, Jython and PyPy: Degree project in computer science and engineering. Sweden, 2016.

7. PEP 554 – Multiple Interpreters in the Stdlib. URL: https://peps.python.org/pep-0554/

8. PEP 703 – Making the Global Interpreter Lock Optional in CPython. URL: https://peps.python.org/pep-0703/

9. PEP 683 – Immortal Objects, Using a Fixed Refcount. URL: https://peps.python.org/pep-0683/

10. Савостин П.А., Ефремова Н.Э. Практическое применение асинхронного программирования на языке Python при помощи пакета asyncio // Программные системы и вычислительные методы. 2018. №2. С. 11-16.

11. Pickle — Python object serialization. URL: https://docs.python.org/3/library/pickle.html

12. Grinberg M. Flask Web Development: Developing Web Applications with Python. O’Reilly Media, 2014. 258 с.

13. Gardner J. The Web Server Gateway Interface (WSGI) / In: The Definitive Guide to Pylons. Apress, 2009. 513 с.

14. Locust - A modern load testing framework. URL: https://locust.io/


Рецензия

Для цитирования:


Синицын Р.Д. Перспективы роста производительности параллельных вычислений с помощью технологии субинтерпретаторов в Python. Электронные библиотеки. 2025;28(2):432–453. https://doi.org/10.26907/1562-5419-2025-28-2-432–453

For citation:


Sinitsyn R.D. Prospects for Improving the Performance of Parallel Computing using Python Subinterpreter Technology. Russian Digital Libraries Journal. 2025;28(2):432–453. (In Russ.) https://doi.org/10.26907/1562-5419-2025-28-2-432–453

Просмотров: 0


Creative Commons License
Контент доступен под лицензией Creative Commons Attribution 4.0 License.


ISSN 1562-5419 (Online)