¿Ir más rápido que Tornado?

Creo que intentaste preguntar “¿Un servidor web escrito en Golang funciona mejor que Tornado?”. La respuesta es sí. Los puntos de referencia indican claramente que el servidor web Go maneja 8 veces más solicitudes que los servidores web optimizados escritos en Python. Es por dos razones.

  • Go es un lenguaje compilado estáticamente. Da la velocidad obvia. Python se ejecuta en un solo núcleo. Puede lograr procesamiento múltiple, pero no programación concurrente.
  • Cada solicitud HTTP es manejada por una rutina de Go, un hilo ligero como estructura. En estos días, un servidor moderado tiene suficiente memoria para generar un millón de rutinas compartidas. La belleza del lenguaje Go es que puede convertir un programa síncrono en un programa concurrente con solo dos letras.

Dado que Tornado está escrito en Python y los servidores web Go generalmente están escritos en Golang puro, hago una pequeña comparación de ambos idiomas.

Si está utilizando una máquina multinúcleo, Go puede funcionar mucho mejor porque está diseñado teniendo en cuenta la concurrencia. Incluso en una máquina de un solo núcleo, los puntos de referencia Go son mejores contra Python. Además de estos, Go genera un ejecutable binario después de la compilación. La huella de memoria de ejecución es menor para los ejecutables de Go.

Puede consultar los últimos puntos de referencia del marco web aquí.

Puntos de referencia del marco TechEmpower | Python vs Golang

Este artículo en el blog del bucle de Lincoln discutió muy bien el tema.

Concurrencia en Python vs GO

BottomLine ,

Creo que mi explicación anterior dio respuesta a dos preguntas

Python vs Go: ¿cuál es rápido?

Servidores web Tornado vs Go: ¿cuál tiene más rendimiento?

Estas comparando manzanas y naranjas. Go es un lenguaje de programación, Tornado es un marco de Python.

Lo que desea comparar es si Go es más rápido que Python … Una aplicación escrita en Go normalmente se ejecutará más rápido que una aplicación escrita en Python, pero generalmente lleva más tiempo desarrollar una aplicación en Go que Python.

Además, el hecho de que los programas Go usualmente sean más efectivos significa muy poco con respecto a la escalabilidad, hay cosas más importantes a considerar, como la arquitectura de software, ambos pueden usarse para desarrollar aplicaciones muy escalables.

Como Shidan ha dicho claramente, Go es un lenguaje de programación y Tornado es un marco de Python.

Pero la pregunta más relevante sería: ¿un programa escrito utilizando las construcciones de concurrencia con Go más rápido que un programa equivalente escrito con Tornado?

Bueno, la respuesta técnicamente correcta sería “depende”. Pero en un nivel amplio, el programa go correría más rápido. Principalmente porque go construye un binario compilado estático que, por supuesto, es más rápido que ejecutar un programa con un intérprete. Y también las gorutinas pueden ejecutarse en múltiples núcleos que el marco Tornado no puede.

¿Te refieres a “Golang net / http / HttpServer vs. Tornado”?

Sí, Golang net / http / HttpServer es más rápido que Tornado, mucho más rápido y usa mucha menos memoria.

More Interesting

¿Qué herramientas utilizó Mark Zuckerberg para construir Facebook?

¿Cuáles son los pros y los contras de la ingeniería eléctrica, mecánica y de software?

¿Es la alta seguridad y el alto rendimiento una característica en los softwares?

¿Por qué los gerentes de ingeniería en las compañías de software son tan particulares sobre la cantidad de años de experiencia durante la contratación?

¿Debo dominar múltiples campos en ingeniería de software (desarrollo móvil / web y tal vez big data) o solo un campo?

Tengo una aplicación que está a punto de comenzar las pruebas de usuarios externos antes de un lanzamiento público. ¿Cuáles son las mejores soluciones gratuitas o de bajo costo para recopilar comentarios de los usuarios?

Soy un programador profesional. ¿Debo volver y terminar la universidad?

¿Qué lenguajes de programación se usaron en el desarrollo de la tienda de Apple?

¿Se puede resolver realmente un problema de diamante en Java?

¿Cuáles son las certificaciones ideales para profesionales de TI o ingenieros de software?

¿Cuáles son los deberes principales del desarrollador de software líder?

¿Recomendaría externalizar su desarrollo de software a Ucrania?

Cómo obtener una ventaja en ingeniería de software si quiero trabajar en una gran empresa como Microsoft o Facebook mientras obtengo mi título de Asociado

¿Es posible que un desarrollador trabaje durante varios años sin tener que escribir un algoritmo exigente, o ningún algoritmo?

¿Cuál es la mejor herramienta de prueba de software?