¿Python-nopie es más rápido que python con PIE? [closed]

2 minutos de lectura

Avatar de usuario de Fik
fik

En Ubuntu y Debian, actualmente veo los paquetes python3.10-nopie y python3.11-nopie. La descripción dice:

Este paquete contiene el intérprete no construido como ejecutable independiente de la posición. Este intérprete desvía el ejecutable python3.11 y hace que el intérprete creado con PIE esté disponible como python3.11-pie.

Sé que PIE (ejecutable independiente de posición) es principalmente una medida de seguridad.

he encontrado y artículo antiguo desde 2012, donde ven una desaceleración de alrededor del 10 % en el benchmark PIE SPEC CPU2006 en x86. Eso se debe principalmente a la presión del registro. En amd64 ven solo un 2% de desaceleración.

Cuando instalo los paquetes NOPIE, puedo ver que la versión PIE es un poco más grande. Eso está en Ubuntu Jammy arm64

$ ls -l /usr/bin/python3.1*
-rwxr-xr-x 1 root root 5299528 Nov 14 17:10 /usr/bin/python3.10
-rwxr-xr-x 1 root root 5671928 Nov 14 17:10 /usr/bin/python3.10-pie
-rwxr-xr-x 1 root root 6570216 Aug 12  2022 /usr/bin/python3.11
-rwxr-xr-x 1 root root 6586600 Aug 12  2022 /usr/bin/python3.11-pie

Hice las pruebas de pyperformance entre las versiones pie y nopie de Python 3.10 y 3.11. El nopie 3.10 es en promedio 6% más rápido que la versión circular en arm64.

En 3.11, la versión nopie era en realidad un 1% más lenta que la tarta, pero luego descubrí que la versión tarta en realidad no tiene PIE. Así que no puedo comparar 3.11 en este momento.

  • Deberá hacer sus propios puntos de referencia para determinar las diferencias de velocidad.

    – Un jugador de críquet

    17 de febrero a las 17:06

¿Ha sido útil esta solución?