Prospects for Improving the Performance of Parallel Computing using Python Subinterpreter Technology
Main Article Content
Abstract
This article discusses the impact of global interpreter blocking on the performance of multithreaded applications in Python. The concept of subinterpreters is described as one of the solutions that allows bypassing the limitations of the GIL and ensuring effective parallel code execution. A comparative analysis of subinterpretors with traditional methods of parallel computing, such as the use of processes and threads, is carried out. The experimental results show that subinterpreters significantly increase performance under conditions of high computing loads. In addition, the article explores the use of subinterpreters in web development. The advantages of using this approach for query processing and resource management in modern web applications are considered, which can significantly improve their scalability and responsiveness. The novelty of this work lies in the in-depth analysis of subinterpreters in the context of specific use cases, which has previously not received sufficient coverage in the scientific literature. The results of the work emphasize the need for further study of subinterpreters as an alternative approach in Python, which is of interest to developers and researchers in the field of high-performance computing.
Keywords:
Article Details
References
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/

This work is licensed under a Creative Commons Attribution 4.0 International License.
Presenting an article for publication in the Russian Digital Libraries Journal (RDLJ), the authors automatically give consent to grant a limited license to use the materials of the Kazan (Volga) Federal University (KFU) (of course, only if the article is accepted for publication). This means that KFU has the right to publish an article in the next issue of the journal (on the website or in printed form), as well as to reprint this article in the archives of RDLJ CDs or to include in a particular information system or database, produced by KFU.
All copyrighted materials are placed in RDLJ with the consent of the authors. In the event that any of the authors have objected to its publication of materials on this site, the material can be removed, subject to notification to the Editor in writing.
Documents published in RDLJ are protected by copyright and all rights are reserved by the authors. Authors independently monitor compliance with their rights to reproduce or translate their papers published in the journal. If the material is published in RDLJ, reprinted with permission by another publisher or translated into another language, a reference to the original publication.
By submitting an article for publication in RDLJ, authors should take into account that the publication on the Internet, on the one hand, provide unique opportunities for access to their content, but on the other hand, are a new form of information exchange in the global information society where authors and publishers is not always provided with protection against unauthorized copying or other use of materials protected by copyright.
RDLJ is copyrighted. When using materials from the log must indicate the URL: index.phtml page = elbib / rus / journal?. Any change, addition or editing of the author's text are not allowed. Copying individual fragments of articles from the journal is allowed for distribute, remix, adapt, and build upon article, even commercially, as long as they credit that article for the original creation.
Request for the right to reproduce or use any of the materials published in RDLJ should be addressed to the Editor-in-Chief A.M. Elizarov at the following address: amelizarov@gmail.com.
The publishers of RDLJ is not responsible for the view, set out in the published opinion articles.
We suggest the authors of articles downloaded from this page, sign it and send it to the journal publisher's address by e-mail scan copyright agreements on the transfer of non-exclusive rights to use the work.