スレッド登録数は 3,000 万を超え、バックエンドは CPython の強力な「魔法の変更」に基づいています

Metaの創設者であるMark Zuckerberg氏は昨日Threads上で、水曜日に正式に開始されたThreadsの登録数が3,000万を超えたと発表した。

Threads はテキストベースのソーシャル アプリケーションであり、機能という点では Twitter に代わるものではありませんが、現時点では事実上の Twitter の代替品であるようです。

FacebookはすでにPHPを完璧に活用しているが、今回リリースされた新製品はバックエンドの開発言語としてPHPを使用していない。CPython コア開発者 Łukasz Langa が公開した情報によると、Threads バックエンドは Python 3.10 で構築されており、Meta は CPython 3.10 に基づいて内部の高性能ブランチ Cinder を構築しました。

レポートによると、Cinder には、JIT、遅延読み込みモジュール、プリコンパイルされた静的モジュール、バイトコード インライン キャッシュ、コルーチンのオンザフライ評価、型アノテーションを使用して型固有のバイトコードを生成する実験的なバイトコード コンパイラなど、パフォーマンスのための多くの最適化が施されています。 JIT でのパフォーマンスが向上します。

Cinder は Instagram のバックエンド サポートを提供し、Meta のますます多くの Python アプリケーションで使用されています。

Threads エンジニアよると、Threads は Instagram と同様に Django を Web サーバーとして使用し、パフォーマンスを重視するすべてのタスクはさまざまな C++ アグリゲーターや推奨タイプのサービスに配置されます。

もちろん、Django ベースは大幅にカスタマイズされているため、カスタム Python JIT で実行され、Facebook が開発したデータベース (IG と FB にも使用される) が使用されます。

このエンジニアは、2019 年に初めて Instagram に入社したとき、本番環境ではネイティブ Python を実行していたと述べました。現在はカスタム JIT が使用されていますが、比較的新しいものです。

同氏はまた、これはFacebookが常に行ってきたことであり、既存の製品とほぼ同様のインターフェースを備えた新製品を作成し、その後、大規模な書き換えを行うのではなく、必要に応じてバックエンドモジュールを段階的に置き換えることだとも述べた。

結局のところ、このような大規模なソーシャル アプリケーションの場合、データベースのパフォーマンスに比べれば、Web サーバーで使用されるプログラミング言語はそれほど重要ではありません。


参考文献

おすすめ

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