Threads 注册量已破三千万,后端基于 CPython 深度“魔改”

来源: OSCHINA
编辑:
2023-07-07 11:36:00

Meta 创始人 Mark Zuckerberg 昨天在 Threads 上宣布,周三正式上线的 Threads 注册量已突破三千万。

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 服务器使用的编程语言显得并没有那么重要。


延伸阅读

展开阅读全文
点击加入讨论🔥(12) 发布并加入讨论🔥
本篇精彩评论
php5时代没有jit,他魔改了php获得了jit取名为hack,后来的事情大家也都知道了,php8 正式引入jit,性能甚至在php7时代就已经超越了hack语言,眼看hack语言没什么前途也没人用,现在他把自己的手伸向了另一个没有jit的语言python,魔改出了cinder,后来的事情我猜也猜到了,python预计在3.14版本中正式引入jit,然后cinder也废了,下一个没有jit的语言是谁呢?javascript?有了,ruby?不好意思也有了。perl?哎没有,哈哈就它了。
2023-07-11 15:29
27
举报
笑死,从魔改一个脚本语言到魔改另一个脚本语言,真为了性能为啥要费这么大劲,直接上rust或者go得了。
2023-07-11 11:25
5
举报
这个人的人品不行,他的东西敢用吗
2023-07-07 13:52
5
举报
可以这么说,但他的实现是特定的,比如只支持linux,只能说魔改的还不到位,而且并没有回馈社区,提交版本,只是在做无用功呀
2023-07-20 17:13
1
举报
然而并不是,3.11的faster-python是在底层开始优化,去除之前设计上的冗余,目前性能提升不大是因为还没有加入JIT,我记得3.14版本会最终引入JIT,但前提是先要把很多底层先优化好,为后面JIT铺路,还有一个就是好像要解除GIL的限制了,拭目以待
2023-07-14 20:21
1
举报
12 评论
5 收藏
分享
返回顶部
顶部