Pregunta

¿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 la de un sitio web similar creado 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 inicio prolongado cada vez.

Disfruto usando pilones y todavía lo usaría si fuera más lento que php.Pero si los pilones fueran más rápidos que php, tal vez, con suerte, eventualmente podría convencer a mi empleador para que me permitiera convertir el sitio a pilones.

¿Fue útil?

Solución

Parece que no quieres comparar los dos. idiomas, pero que quieres comparar dos sistemas web.

Esto es complicado porque hay muchas variables involucradas.

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

También está la cuestión 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 Python, el paso de compilación se omite y el intérprete de Python simplemente recupera 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 eAccelerator) con el mismo efecto.

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

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

Otros consejos

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

La razón de esto es que ya tiene un sistema (presumiblemente) que funciona, con una inversión 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 de mantenimiento, dependiendo de quién más tenga que trabajar con el sistema y su experiencia con Python.

Supongo que PHP (>5.5) es más rápido y 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 sólo están hechos para demostrar que el idioma preferido es mejor.Pero no se pueden comparar 2 idiomas con una tarea matemática que se ejecuta X-times.Para una evaluación comparativa 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 justificar ningún tipo de cambio.

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

Es más o menos lo mismo.La diferencia no debería ser lo suficientemente grande como para ser motivo para elegir uno u otro.No intentes compararlos escribiendo tus propios pequeños puntos de referencia ("hello world") porque probablemente no obtendrá resultados representativos de un sitio web real que genere una página más compleja.

Si no está roto no lo arregles.

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

Debe poder presentar argumentos comerciales para cambiar, no solo decir que "es más rápido".Si un sitio construido con la tecnología B cuesta un 20% más en tiempo de mantenimiento del desarrollador durante un período determinado (digamos, 3 años), probablemente sería más barato agregar otro servidor web al sistema que ejecuta la tecnología A para cerrar la brecha de rendimiento.

Simplemente digo "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 que los costos de alojamiento, desarrollador y otros costos de mantenimiento (a largo plazo) lo hicieran encajar en este escenario.

una organización SI no consideraría esto a menos que la disponibilidad se convirtiera en un problema.

Si es así, busque replicación, equilibrio de carga y mucha RAM.

La única respuesta correcta es "Depende".Hay muchas variables que pueden afectar el rendimiento y puedes optimizar muchas cosas en cualquier situación.

Tuve que volver al desarrollo web en mi nuevo trabajo y, si no fuera por Pylons/Python, tal vez habría elegido vivir en la jungla :) En mi opinión subjetiva, PHP es para jardín de infantes, lo hice en mi tercer año. de la universidad y, creo, muchos ingenieros de software que se respetan (o sobreestiman) no querrán preocuparse por el código PHP.

¿Por qué mis empleadores estuvieron de acuerdo?Nosotros (el equipo) acabamos de cambiarnos a Python y no tenían mucho que decir.El sitio web sigue siendo y será PHP, pero estamos desarrollando otras aplicaciones, incluida la web, en Python.¿Ventajas de los pilones?Puede integrar sus bibliotecas de Python en la aplicación web y eso es, en mi humilde opinión, una gran ventaja.

En cuanto al rendimiento, todavía tenemos problemas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top