El número de registros de subprocesos ha superado los 30 millones, y el backend se basa en la profunda "modificación mágica" de CPython.

El fundador de Meta, Mark Zuckerberg, anunció ayer en Threads que el número de registros de Threads lanzados oficialmente el miércoles superó los 30 millones.

Threads es una aplicación social basada en texto y, aunque en realidad no puede reemplazar a Twitter en términos de funcionalidad, actualmente parece ser una alternativa de facto a Twitter.

Aunque Facebook ya ha utilizado PHP a la perfección, el nuevo producto lanzado esta vez no utiliza PHP como lenguaje de desarrollo de back-end. De acuerdo con la información divulgada por el desarrollador central de CPython, Łukasz Langa  , el backend de Threads está construido con Python 3.10—Meta ha construido su rama interna de alto rendimiento Cinder basada en CPython 3.10.

Según los informes, Cinder tiene muchas optimizaciones para el rendimiento, incluidos JIT, módulos de carga diferida, módulos estáticos precompilados, almacenamiento en caché en línea de código de bytes, evaluación sobre la marcha de rutinas y un compilador de código de bytes experimental que utiliza anotaciones de tipo para generar código de byte específico. que se desempeña mejor en el JIT.

Cinder brinda soporte de back-end para Instagram y se usa en un número creciente de aplicaciones de Python en Meta.

​Según el ingeniero de Threads , Threads, como Instagram, utiliza Django como servidor web, y todas las tareas de alto rendimiento se colocan en varios agregadores de C++ y servicios de tipo recomendación.

Por supuesto, han personalizado mucho la base de Django para que se ejecute en un Python JIT personalizado y utilice una base de datos desarrollada por Facebook (también utilizada para IG y FB).

El ingeniero también dijo que cuando se unió a Instagram por primera vez en 2019, estaban ejecutando Python nativo en producción. Ahora se utiliza un JIT personalizado, aunque relativamente nuevo.

También dijo que esto es lo que Facebook siempre ha hecho: crear nuevos productos con una interfaz que es más o menos similar a los existentes y luego reemplazar gradualmente los módulos de back-end según sea necesario, en lugar de hacer una reescritura a gran escala.

Después de todo, para una aplicación social tan grande, el lenguaje de programación utilizado por el servidor web no es tan importante en comparación con el rendimiento de la base de datos.


Otras lecturas

Supongo que te gusta

Origin www.oschina.net/news/248331/backend-of-meta-threads-is-built-with-python-3-10
Recomendado
Clasificación