🤔PyPy vs CPython: под капотом Python
Каждый разработчик Python-скриптов знает про CPython — наиболее распространенную реализация виртуальной машины, которая интерпретирует написанный код. Кроме CPython есть также PyPy , построенный с использованием языка RPython. По сравнению с CPython, PyPy работает быстрее, реализуя Python 2.7.18, 3.9.15 и 3.8.15. PyPy поддерживает большинство часто используемых модулей стандартных Python-библиотек. Версия PyPy x86 работает в нескольких операционных системах, таких как Linux (32/64 бита), MacOS (64 бита), Windows (32 бита), OpenBSD, FreeBSD. Версии, отличные от x86, поддерживаются в Linux, а ARM64 — в MacOS.
Впрочем, PyPy не сможет ускорить код в кратковременных процессах, которые запускаются менее чем на пару секунд: JIT-компилятору не хватит времени на «разогрев». Также PyPy не даст выиграша в скорости, если все время выполнения проводится в runtime-библиотеках, т.е. в функциях C, а не в фактическом выполнении Python-кода. Поэтому PyPy работает лучше всего при выполнении долго выполняющихся программ, когда значительная часть времени тратится на выполнение кода Python.
С точки зрения потребления памяти, PyPy также может дать фору CPython: Python-программы с высоким потреблением ОЗУ (сотни МБ и более) могут в конечном итоге занимать меньше места в PyPy, чем в CPython.
https://www.pypy.org/features.html
Post #374
1.11K