中国财富新闻网

您的位置:首页 > 财经评论 >

消息称Python将加入“ImmortalObjects”,可提升内存效

,Meta 日前宣布将在 Python 中加入 Immortal Objects,使得对象可以绕过参照计数检查,成为在执行时持续存活的“不朽对象”,从而提高内存的使用效率,并有助于解除 Python 语言本身在平行运算上的局限。

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

图源Meta 提出的 PEP-683,目前已经被采纳

随着系统运作,每个服务器程序的私有内存使用增加,而共享内存减少,这样的现象造成内存效率低下。

开发人员分析发现,即便许多 Python 对象在整个执行时不可变,但是 Python 的参照计数和垃圾回收机制仍然会试图管理并修改这些对象,在每次读取和垃圾回收周期仍会执行写入时复制步骤,使得原本共享的内存分页转为私有,共享内存效率也便因此减少,从而导致不必要的 CPU 和内存成本开销。

使用Immortal Objects 可提升内存和 CPU 效率

当下 Meta 便是为了解决这个问题,从而宣布将在 Python 中加入 Immortal Objects,Immortal Objects 在对象的参照计数字段中,标记特殊值以创建“不朽对象”,也就是“核心对象状态永远不会改变的对象”,Runtime 会知道什么时候可以或是不可以改变参照计数字段和垃圾回收头。

在 Instagram 前端中,开发者原先通过“减少写入时复制操作”,以提高内存和 CPU 效率,当下随着Immortal Objects 的加入,Instagram 前端便可以通过增加共享内存使用量,来大幅减少私有内存的使用。

由于 Immortal Objects 可以跨线程共享对象,不再需要 GIL达到线程安全性,Meta 认为,这项功能有望促进 Python 语言发展,且由于 Immortal Objects 保证堆对象真正的不可变性,因此也能够解除 Python 在并行运算的一系列限制。

广告声明:文内含有的对外跳转链接,用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。

栏目导读

消博会“神仙打架”:国际巨头入华抢滩新赛道,本土品牌欲出海

消博会“神仙打架”:国际巨头入华抢滩新赛道,本土品牌欲出海

作者:叶子琪

作者:周嘉宝尽管上半年本土疫情的反复让零售市场承压,但中国这片消费热土仍被所有人寄予厚望。7月25日,第二届中国国际消费品博览会在海南海口拉开帷幕。时代财经发现,上半年零售市场的低迷情绪并没有蔓延至这场规格颇高的展会中。作为此次展会主战场,...

2023年定为“消费提振年”,广州消费市场大派“红包”

2023年定为“消费提振年”,广州消费市场大派“红包”

作者:子墨

兔年第一个工作日,刷屏的除了有“开工大吉”,还有政府派发的“大红包”。1月28日,全省高质量发展大会在广州召开。紧随其后,当天下午,广州召开全市高质量发展大会。会上,广州市商务局局长洪谦透露一个重磅信息——广州将2023年定为“消费提振年”...

无人货架凉了新零售的发展新机会在哪?

无人货架凉了新零售的发展新机会在哪?

作者:张璠

摘要:正如电商概念的完善和发展经历了一个过程一样,新零售的发展同样要经历一个从萌芽到成熟的过程。从这个逻辑来看,当前出现的无人货架困境是新零售概念发展成熟的过程当中必然要经历的一个阶段。图片来源:视觉中国从某种程度上来讲,无人货架打了新零售...

华润啤酒欲牵手喜力啤酒业“利润时代”打响高端之争

华润啤酒欲牵手喜力啤酒业“利润时代”打响高端之争

作者:苏婉蓉

中新经纬客户端3月13日电(贺陈慧)积极探索并购机会的华润啤酒,正在加快对啤酒高端市场的布局。3月9日,因传华润啤酒欲收购喜力中国业务,华润啤酒发布价格和成交量异常波动的公告,公告中提到,公司及公司控股股东经常探索和进行有关潜在交易的商业和...