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 サーバーで使用されるプログラミング言語はそれほど重要ではありません。
参考文献