出品
开源中国
Meta创始人MarkZuckerberg昨天在Threads上宣布,周三正式上线的Threads注册量已突破三千万。
Threads是一个基本文本的社交应用,虽然它在功能上还无法真正取代Twitter,但目前看来事实上已是Twitter的替代方案。
虽然Facebook早已把PHP用得出神入化,但这次发布的新产品并没有采用PHP作为后端开发语言。根据CPython核心开发者?ukaszLanga透露的消息,Threads后端采用Python3.10进行构建——Meta基于CPython3.10构建了内部自用的高性能分支Cinder。
据介绍,Cinder针对性能进行了许多优化,包括JIT、延迟加载模块、预编译静态模块、字节码内联缓存、协程的即时评估,以及实验性字节码编译器,该编译器使用类型注释来生成在JIT中性能更好的类型专用字节码。
Cinder为Instagram提供后端支持,并在Meta中越来越多的Python应用程序中使用。
根据Threads工程师的介绍,Threads和Instagram一样采用Django作为Web服务器,所有性能密集型的任务都放到了各种C++聚合器和推荐类型服务中。
当然,他们在Django基础进行了深度的定制修改,因此支持在自定义的PythonJIT上运行,并使用Facebook开发的数据库(同样用于IG和FB)。
这名工程师还表示,年刚加入Instagram时,他们在生产环境运行的还是原生Python。现在已经用上了自定义JIT——虽然还比较新。
他还说道,这是Facebook一直以来的做法——打造新产品时会让其界面与现有的大致相似,然后根据需求来逐渐替换后端模块,而不是进行大规模重写。
毕竟对于这类大型社交应用程序来说,与数据库性能相比,Web服务器使用的编程语言显得并没有那么重要。