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

[email protected]:~# apt update
[email protected]:~# apt upgrade
[email protected]:~# apt install pypy3

Instalar pip para pypy3

[email protected]:~# wget https://bootstrap.pypa.io/get-pip.py
[email protected]:~# pypy3 get-pip.py
[email protected]:~# 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.