¿Qué es más rápido, las páginas web de python o las páginas web de php? [closed]

6 minutos de lectura

avatar de usuario
Echo dice Reincorporar a Monica

¿Qué es más rápido, las páginas web de python o las páginas web de php?

¿Alguien sabe cómo se compara la velocidad de los pilones (o cualquiera de los otros marcos) con un sitio web similar hecho con php?

Sé que servir una página web basada en python a través de cgi es más lento que php debido a su largo inicio cada vez.

Disfruto usando pilones y aún lo usaría si fuera más lento que php. Pero si pilones fuera más rápido que php, tal vez podría, con suerte, convencer a mi empleador para que me permitiera convertir el sitio en pilones.

avatar de usuario
ross

Parece que no quieres comparar los dos. idiomaspero que quieres comparar dos sistemas web.

Esto es complicado, porque hay muchas variables involucradas.

Por ejemplo, las aplicaciones web de Python pueden aprovechar mod_wsgi para hablar con los servidores web, que es más rápido que cualquiera de las formas típicas en que PHP se comunica con los servidores web (incluso mod_php termina siendo más lento si está usando Apache, porque Apache solo puede usar Prefork MPM con mod_php en lugar de multiproceso MPM como Trabajador).

También está el tema de la compilación del código. Como sabe, Python se compila justo a tiempo en código de bytes (archivos .pyc) cuando se ejecuta un archivo cada vez que cambia. Por lo tanto, después de la primera ejecución de un archivo de Python, se omite el paso de compilación y el intérprete de Python simplemente obtiene el archivo .pyc precompilado. Debido a esto, se podría argumentar que Python tiene una ventaja nativa sobre PHP. Sin embargo, se pueden instalar optimizadores y sistemas de almacenamiento en caché para sitios web PHP (mi favorito es Acelerador electrónico) con el mismo efecto.

En general, existen suficientes herramientas para que uno pueda hacer casi todo lo que el otro puede hacer. Por supuesto, como han mencionado otros, hay más que velocidad involucrada en el caso comercial para cambiar de idioma. Tenemos una aplicación escrita en oCaml en mi empleador actual, que resultó ser un error porque el autor original dejó la empresa y nadie más quiere tocarla. De manera similar, la comunidad PHP-web es mucho más grande que la comunidad Python-web; Es más probable que los servicios de alojamiento de sitios web ofrezcan compatibilidad con PHP que con Python; etc.

Pero volvamos a la velocidad. Debe reconocer que la cuestión de la velocidad aquí involucra muchas partes móviles. Afortunadamente, muchas de estas partes se pueden optimizar de forma independiente, lo que le brinda varias vías para buscar mejoras en el rendimiento.

  • El beneficio de los archivos de código de bytes .pyc compilados en Python se sobrevalora cuando se usa algo como Apache/mod_wsgi. Esto se debe a que solo entran en juego en el momento en que se carga el módulo por primera vez. Después de eso, todo se almacena en caché en la memoria entre solicitudes. Los sistemas de almacenamiento en caché de código de bytes son más importantes para PHP porque la aplicación se descarta después de cada solicitud y, por lo tanto, tiene que recargar el código para cada solicitud.

    –Graham Dumpleton

    25 de junio de 2009 a las 2:26

No tiene sentido intentar convencer a su empleador de que cambie de PHP a Python, especialmente para un sistema existente, que es lo que creo que insinuó en su pregunta.

La razón de esto es que ya tiene un (presumiblemente) sistema de trabajo, con una inversión existente de tiempo y esfuerzo (y experiencia). Descartar esto en favor de una ganancia de rendimiento trivial (no es que esté afirmando que habría una) sería una tontería, y ningún gerente que se precie debería respaldarlo.

También puede crear un problema con la capacidad de mantenimiento, según quién más tenga que trabajar con el sistema y su experiencia con Python.

  • Todos los puntos de referencia que he visto también muestran que Python tiene un rendimiento inferior al de las versiones más nuevas de PHP. Aunque todavía tengo que ver a alguien comparar el rendimiento en una aplicación completa.

    – comiendo la noche

    17 dic 2014 a las 20:29

Asumiría que PHP (> 5.5) es más rápido y más confiable para aplicaciones web complejas porque está optimizado para secuencias de comandos de sitios web.

Muchos de los puntos de referencia que encontrará en la red solo están hechos para demostrar que el idioma preferido es mejor. Pero no puede comparar 2 idiomas con una tarea matemática que se ejecuta X veces. Para un punto de referencia real, necesita dos marcos comparables con cientos de clases/archivos y una aplicación web que ejecute 100 clientes a la vez.

PHP y Python son lo suficientemente similares como para no permitir ningún tipo de cambio.

Cualquier mejora en el rendimiento que pueda obtener al cambiar de un idioma a otro se vería superada simplemente por no gastar el dinero en convertir el código (no codifica gratis, ¿verdad?) y simplemente comprar más hardware.

avatar de usuario
sangría

Se trata de lo mismo. La diferencia no debería ser lo suficientemente grande como para ser la razón para elegir uno u otro. No intente compararlos escribiendo sus propios pequeños puntos de referencia ("hello world") porque probablemente no obtendrá resultados que sean representativos de un sitio web real que genere una página más compleja.

avatar de usuario
UnkwnTech

Si no está roto, no lo arregles.

Simplemente escriba una prueba rápida, pero tenga en cuenta que cada idioma será más rápido con ciertas funciones que con el otro.

avatar de usuario
pedro bailey

Debe poder presentar un caso comercial para cambiar, no solo que “es más rápido”. Si un sitio creado con la tecnología B cuesta un 20 % más en tiempo de desarrollador para el mantenimiento durante un período determinado (digamos, 3 años), probablemente sería más económico agregar otro servidor web al sistema que ejecuta la tecnología A para cerrar la brecha de rendimiento.

Decir simplemente “deberíamos cambiar a la tecnología B porque la tecnología B es ¡más rápido!“realmente no funciona.

Dado que Python es mucho menos ubicuo que PHP, no me sorprendería si el hospedaje, el desarrollador y otros costos de mantenimiento (a largo plazo) lo hicieran encajar en este escenario.

¿Ha sido útil esta solución?