IT之家发现,Meta 使用 Python 网页框架 Django 开发 Instagram 前端,并且使用多程序架构以及 Python 函数库 asyncio,以达到每个程序并行处理的目标,但因为 Instagram 前端无论是在业务逻辑还是处理的请求量层面,规模都十分庞大,开发者当下应用的这个方法,反而造成了对内存的大量需求,从而导致系统出现一系列性能障碍。

随着系统运作,每个服务器程序的私有内存使用增加,而共享内存减少,这样的现象造成内存效率低下。
开发人员分析发现,即便许多 Python 对象在整个执行时不可变,但是 Python 的参照计数和垃圾回收机制仍然会试图管理并修改这些对象,在每次读取和垃圾回收周期仍会执行写入时复制(Copy-On-Write,COW)步骤,使得原本共享的内存分页转为私有,共享内存效率也便因此减少,从而导致不必要的 CPU 和内存成本开销。

当下 Meta 便是为了解决这个问题,从而宣布将在 Python 中加入 Immortal Objects,Immortal Objects 在对象的参照计数字段中,标记特殊值以创建“不朽对象”,也就是“核心对象状态永远不会改变的对象”,Runtime 会知道什么时候可以或是不可以改变参照计数字段和垃圾回收头。
在 Instagram 前端中,开发者原先通过“减少写入时复制操作”,以提高内存和 CPU 效率,当下随着 Immortal Objects 的加入,Instagram 前端便可以通过增加共享内存使用量,来大幅减少私有内存的使用。
由于 Immortal Objects 可以跨线程共享对象,不再需要 GIL(Global Interpreter Lock)达到线程安全性,Meta 认为,这项功能有望促进 Python 语言发展,且由于 Immortal Objects 保证堆对象真正的不可变性,因此也能够解除 Python 在并行运算的一系列限制。
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。
未经允许不得转载:新聚网 » 消息称 Python 将加入“Immortal Objects”,可提升内存效率并解除并行运算限制

新聚网
Swift Assist 进化:苹果 Xcode 26 可接入端侧、Claude 等 AI 编程模型
安全公司曝光黑客盗用开发团队账号在 NPM 平台散布恶意软件包,涉及 React Native / GlueStack 项目
英特尔发布 32.0.101.6881 WHQL 显卡驱动,修复《守望先锋 2》游戏崩溃问题
时隔一年半,苹果手记 Journal 应用将随 macOS / iPadOS 26 登陆 Mac / iPad
苹果推出容器化框架,可直接在 Mac 上创建、下载或运行 Linux 容器镜像
微软 Win10 / Win11 新版 Outlook 被曝新问题:重要会议安排凭空消失
Linux 6.16 首个 RC 候选版发布:提升电源管理效率、扩展硬件支持、优化 EXT4 文件系统





