The number of Threads registrations has exceeded 30 million, and the backend is based on CPython's deep "magic modification"

Meta founder Mark Zuckerberg announced on Threads yesterday that the number of Threads registrations officially launched on Wednesday has exceeded 30 million.

Threads is a text-based social application, and although it can't really replace Twitter in terms of functionality, it currently appears to be a de facto Twitter alternative.

Although Facebook has already used PHP to perfection, the new product released this time does not use PHP as the back-end development language. According to the information disclosed by CPython core developer Łukasz Langa  , the Threads backend is built with Python 3.10—Meta has built its internal high-performance branch Cinder based on CPython 3.10.

According to reports, Cinder has many optimizations for performance, including JIT, lazy loading modules, precompiled static modules, bytecode inline caching, on-the-fly evaluation of coroutines, and an experimental bytecode compiler that uses type Annotations to generate type-specific bytecode that performs better in the JIT.

Cinder provides backend support for Instagram and is used in a growing number of Python applications in Meta.

​According to the Threads engineer , Threads, like Instagram, uses Django as the web server, and all performance-intensive tasks are placed in various C++ aggregators and recommendation-type services.

Of course, they've heavily customized the Django base so it runs on a custom Python JIT and uses a Facebook-developed database (also used for IG and FB).

The engineer also said that when he first joined Instagram in 2019, they were running native Python in production. A custom JIT is used now - although relatively new.

He also said that this is what Facebook has always done-to create new products with an interface that is roughly similar to existing ones, and then gradually replace the back-end modules as needed, rather than doing a large-scale rewrite.

​After all, for such a large social application, the programming language used by the web server is not so important compared with the performance of the database.


further reading

Guess you like

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