Twitter 勁敵 Threads,“魔改”了哪些 Python 技術(shù)棧?
Meta 創(chuàng)始人 Mark Zuckerberg 昨天在 Threads 上宣布,周三正式上線的 Threads 注冊(cè)量已突破三千萬(wàn)。
Threads 是一個(gè)基本文本的社交應(yīng)用,由 Instagram 團(tuán)隊(duì)開發(fā)。雖然它在功能上還無(wú)法真正取代 Twitter,但目前看來(lái)事實(shí)上已是 Twitter 的替代方案。
上文提到,Threads 由 Instagram 團(tuán)隊(duì)打造,因此這款新產(chǎn)品并沒有采用 Facebook 用得出神入化的 PHP 作為后端開發(fā)語(yǔ)言。
防杠備注:Facebook 的技術(shù)棧不僅僅是 PHP,他們還自研了許多黑科技,比如 Hack Lang、HHVM根據(jù) CPython 核心開發(fā)者 ?ukasz Langa 透露的消息,Threads 后端采用 Python 3.10 進(jìn)行構(gòu)建 ——Meta 基于 CPython 3.10 構(gòu)建了內(nèi)部自用的高性能分支 Cinder。


Cinder 的介紹顯示,它為 Instagram 提供后端支持,并在 Meta 中越來(lái)越多的 Python 應(yīng)用程序中使用。
此外,Cinder 針對(duì)性能優(yōu)化自研了許多新特性,包括 JIT、延遲加載模塊、預(yù)編譯靜態(tài)模塊、字節(jié)碼內(nèi)聯(lián)緩存、協(xié)程的即時(shí)評(píng)估,以及實(shí)驗(yàn)性字節(jié)碼編譯器。該編譯器使用類型注釋來(lái)生成在 JIT 中性能更好的類型專用字節(jié)碼。根據(jù) Threads 工程師的介紹,Threads 和 Instagram 一樣采用 Django 作為 Web 服務(wù)器,所有性能密集型的任務(wù)都放到了各種 C++ 聚合器和推薦類型服務(wù)中。當(dāng)然,他們?cè)?Django 基礎(chǔ)進(jìn)行了深度的定制修改,因此支持在自定義的 Python JIT 上運(yùn)行,并使用 Facebook 開發(fā)的數(shù)據(jù)庫(kù)(同樣用于 IG 和 FB)。這名工程師表示,2019 年剛加入 Instagram 時(shí),他們?cè)谏a(chǎn)環(huán)境運(yùn)行的還是原生 Python。現(xiàn)在已經(jīng)用上了自定義 JIT——雖然還比較新。
他還說(shuō)道,這是 Facebook 一直以來(lái)的做法——打造新產(chǎn)品時(shí)會(huì)讓其界面與現(xiàn)有的大致相似,然后根據(jù)需求來(lái)逐漸替換后端模塊,而不是進(jìn)行大規(guī)模重寫。畢竟對(duì)于這類大型社交應(yīng)用程序來(lái)說(shuō),與數(shù)據(jù)庫(kù)性能相比,Web 服務(wù)器使用的編程語(yǔ)言顯得并沒有那么重要。Hot
重磅!Python222網(wǎng)站實(shí)戰(zhàn)課程正式發(fā)布 !