[pyar] PHP vs Python

Claudio Freire klaussfreire en gmail.com
Mar Mayo 27 11:28:39 ART 2014


2014-05-27 7:44 GMT-03:00 Carlos Miguel FARIAS <carlosmiguelfarias en gmail.com>:
> Si quiero instrumentar una solución cliente-delgado (navegador)/servidor,
> normalmente conocida como intranet:
> Una solución php es más rápida que una python?
> Si la concurrencia es alta (página web), un sitio php es más rápido que uno
> en python?

Tenés que ser más específico en qué significa "más rápido". En
particular hablando de concurrencia.

Menor latencia? Más thoughput?

> Según documentación que he podido leer, indicaba que cada python levanta un
> hilo (interprete?) por separado en el servidor, por lo que este tenía una
> carga adicional y por lo tanto con menor desempeño que en php (un artículo
> escrito por un tal Guido).

Quien te haya dicho que PHP no usa un hilo te mintió. No hay forma de
no usar un hilo. Un "hilo" es lo mínimo que hace falta para usar el
CPU.

Ahora, si la cantidad de hilos que necesita tu server se incrementa
linealmente o no con la cantidad de conexiones abiertas, es un tema de
comparación bastante en boga, porque la mayoría de los sistemas
operativos soportan más conexiones que hilos.

En este sentido, ambos PHP y Python tienen soluciones (frameworks) que
te permiten escalar sin crear un hilo por conexión (que es lo más
normal). No conozco los frameworks en PHP, en Python tenés varios
basados en gevent o eventlet (greenlets como los mencionaron ya),
tornado, twisted, etc...

Lo que diferencia a PHP de Python en web, es que Python tiene estado,
mientras que PHP no. PHP, aunque no levante un intérprete o hilo por
conexión, intenta aislar completamente cada entorno de ejecución del
otro. Esto te impide implementar de forma sencilla cosas como cachés o
estructuras compartidas entre las conexiones. En Python esto es más
sencillo, porque en Python sí podés compartir estado entre las
conexiones. Claro que con esta flexibilidad vienen complicaciones
(conceptualmente, trabajar con estado compartido es más complejo que
sin él)


More information about the pyar mailing list