Instalar y ejecutar pypy3 en Termux

No puede instalarse pypy a través de los repositorios de Termux, pero puedes instalar un subsistema ubuntu en Termux en el que si es posible instalar pypy.

El interés en utilizar pypy radica en que es mucho mas rápido que cpython.


Instalar e iniciar el subsistema

Instalación

$ pkg install proot-distro
$ proot-distro install ubuntu

Iniciar sesión

$ proot-distro login ubuntu

Instalar pypy3 en el subsistema

root@localhost:~# apt update
root@localhost:~# apt upgrade
root@localhost:~# apt install pypy3

Instalar pip para pypy3

root@localhost:~# wget https://bootstrap.pypa.io/get-pip.py
root@localhost:~# pypy3 get-pip.py
root@localhost:~# rm get-pip.py

NOTAS SOBRE PROOT

Aunque pypy es mucho mas rápido que cpython hay que evaluar si merece la pena instalarlo en un subsistema ubuntu que se ejecuta bajo proot.

proot supone una penalización de rendimiento para el proceso que ejecuta, así como para sus subprocesos. El proceso "enjaulado" se detiene en cada llamada al sistema, ya que proot tiene que interpretar y traducir dichas llamadas al sistema.

Para un proceso principalmente vinculado a la CPU no debería ser un gran problema (las fases de E/S de la ejecución del programa serán más lentas, pero el núcleo de la ejecución del programa no debería verse afectado en gran medida).

Sim embargo, un proceso que abusa de la E/S funcionará mucho peor en pypy bajo el subsistema que en cpython nativo de Termux. Este es el caso, por ejemplo, de servidores http o ftp.

En cualquier caso, pypy es mejor opción que cpython precisamente cuando necesitamos exprimir la CPU, y no para procesos de E/S, de modo que en general será buena idea utilizar pypy si lo que queremos es mejorar el rendimiento asociado al procesamiento de la CPU.