¿Es correcto que Python tenga un rendimiento lento para crear aplicaciones web?

Depende.

Python no es el lenguaje de programación más rápido en términos de FLOP.

Sin embargo,

  1. Una aplicación web que sirve a diez personas es muy diferente a una que sirve a diez millones de personas. Para las aplicaciones web de escala baja a media, creo que Tornado Web Server ofrece una buena solución.
  2. El rendimiento de la aplicación web tiene que ver con muchos otros factores, excepto el lenguaje de programación: problemas de hardware, latencia de red, equilibrio de carga, CDN, rendimiento de la base de datos, etc. A veces, estos factores son mucho más significativos.
  3. Algunas tiendas web grandes usan Python al menos parcialmente, ver por ejemplo ¿Qué lenguajes de programación se usan en Dropbox (producto)? Hace dos años, Python era el principal lenguaje de programación utilizado en Dropbox.

En resumen, Python es lo suficientemente rápido para algunas aplicaciones web. Puede ser para los tuyos.

No.

Tenga esto en cuenta: para la gran mayoría de las aplicaciones web, la velocidad de ejecución del lenguaje sin procesar es efectivamente irrelevante.

He trabajado en varias aplicaciones web Python grandes de alto valor comercial y alto tráfico. Millones de dólares al año, millones de páginas vistas al día.

Los cuellos de botella de rendimiento casi siempre están en E / S: base de datos, disco, red. Para evitar esos puntos críticos, cualquier aplicación web en cualquier idioma necesita un diseño y una arquitectura inteligentes, especialmente un buen almacenamiento en caché. La velocidad de cálculo numérico en su lenguaje de programación no hace que las consultas lentas de bases de datos desaparezcan.

Después de ayudar a desarrollar y respaldar una plataforma CMS que funcionaba con 100 sitios de TV / radio / periódicos, concluí: el secreto de 40 millones de visitas diarias es que Akamai sirva al 90 por ciento de ellas. Hay más que eso, pero la velocidad de la lógica de negocios de la aplicación rara vez es un problema.

El rendimiento de Python depende del servidor y del código que está utilizando, entre otras cosas. Si el hardware está anticuado o es lento, experimentará un cuello de botella. Si la base de datos que está utilizando no está ajustada o no es adecuada, puede ser lenta. Honestamente, hay tantos factores que una lista no ayudará.

Python no es conocido por la velocidad, pero es conocido por hacer las cosas. Si esto es “correcto” o no depende de sus necesidades. Puede encontrar alguna otra plataforma más adecuada para su aplicación.