Chrome所使用的开源JavaScript引擎V8,使用了新的垃圾回收器(Garbage Collector)Orinoco,除了具一般垃圾回收器的功能外,Orinoco还有平行(Parallel)、并行(Concurrent),且具渐增(Incremental)回退功能,能大幅降低应用程序延迟问题。
一般垃圾收集器的基本任务,会辨识物件存活,一旦物件过期,垃圾收集器便着手回收,并重新使用物件占用的内存,进阶的功能还会对内存进行压缩或是去碎片化。这些工作可以依序执行,或是任意交错进行。
V8中会把内存堆积分为新生世代(Generation)与年老世代,新生世代又分为托儿所(Nursery)与中间(Intermediate)两个子代。物件分配最先进到托儿所,当在第一次的垃圾收集中存活下来,仍然被算作新生世代,但会从托儿所移往中间世代,并于下一次垃圾收集存活,被移往老年世代。在V8中有两种垃圾回收器,主要垃圾回收器从整个堆积(Heap)中收集垃圾,而次要垃圾回收器则收集新生世代的垃圾。
官方提到,目前衡量垃圾回收花费的时间,是主执行绪在执行垃圾收集时所暂停的时间。Orinoco是一个垃圾收集专案的代号,V8团队为其垃圾收集器,新增一系列垃圾收集最佳化算法,以释放主执行绪,避免Chrome发生明显的停顿。新的垃圾收集器主要使用三种技术,包含平行、渐增以及并行。
垃圾收集器的平行执行,是让主执行绪以及帮手执行绪分担差不多的垃圾收集工作,虽然主执行绪仍需要暂停执行JavaScript,但是总暂停时间会是,原本暂停时间除以参与工作的执行绪数,当然会有一些同步的成本,但是分摊下来暂停的时间仍然会比原本短得多,官方提到,平行执行是三种技术实现最简单的一种。
渐增技术是让主执行绪间歇性的执行少量的垃圾回收工作,让主执行绪一次进行一部分的工作,这样主执行绪就不再需要完全停下来进行垃圾回收,官方提到,这个比平行执行还更加困难,因为JavaScript要在每个渐增工作区段执行,这代表内存堆积的状态已经改变,可能使先前的渐增工作完全无效。虽然这个方法不会减少主执行绪花费在垃圾收集的时间,但是却能有效解决主执行绪延迟。
第三个也是最困难的技术是并行执行,是当主执行绪在持续执行JavaScript时,让帮手执行绪在背景进行垃圾收集。官方解释,之所以这是最困难的技术,因为JavaScript堆积上的所有内容,现在随时都可能会变更,导致之前完成的工作失效,且主执行绪和帮手执行绪存在读写竞争。不过,好处是主执行绪可以无后顾之忧的自由执行JavaScript。
现在V8的主要垃圾收集器,当堆积接近动态计算限制的时候,便会启动并行标记任务,在主行绪执行JavaScript的时候,每个帮手执行绪对分配的物件,进行追踪并完成标记,最后主执行绪才会开始暂停,重新扫描一次Root确保存活的物件都被上了标记,并与数个帮手执行绪开始进行平行压缩以及更新指标,而这个过程主行绪仍然可以再穿插执行JavaScript。
而负责进行新生世代垃圾收集工作的次要垃圾收集器,现在也能够平行收集垃圾,并跨帮手执行绪地分散作业,对被分派到且历经第一次垃圾收集存活的物件,执行搬移(Evacuate)集中的工作。
新的垃圾回收器大幅改善了Chrome暂停时间、延迟与页面载入缓慢的问题,让动画、页面滚动和使用者互动更加顺畅,具平行执行功能的次要垃圾收集器,能够减少20%到50%主执行绪进行新生世代垃圾回收的时间成本,而且并行执行标记与清扫内存,可以减少WebGL游戏暂停时间达50%。官方提到,他们的工作还没结束,Chrome中的渲染器Blink还有一个垃圾回收器Oilpan,他们要将Orinoco的技术移植过去。
官方特别提到,虽然开发人员在撰写JavaScript程式的时候,不需要考虑垃圾收集,但是了解内部运作将有帮助提升内存使用,有效应用良好的程式开发范式。
相关文章
- YouTube更新违反规定政策,提升惩处透明度和一致性
2023-12-31 14:00:52
- 传苹果将把中国iCloud正式交给本地化经营 苹果手机icloud换区存储操作
2023-12-27 18:34:43
- 刘德华代言什么手机?刘德华成华为Mate 60 RS非凡大师华为5G新手机代言人
2023-09-26 21:55:08
- WebOS新系统:Palm Pre手机最新款高价登港
2023-06-23 15:39:14
- 帮助企业组织对抗勒索软件,资安通报机构设立防护专区,可协助事前、事中与事后因应
2023-06-22 09:36:10
- 蔚来全系产品降价3万 取消免费换电 换一次电池180元
2023-06-12 17:27:49
- 电商平台三巨头开打最大规模折扣 价格战再次打响
2023-03-05 18:58:40
- 爱立信节省成本裁员四千人 爱立信全球员工总数五分之一
2023-02-24 22:27:29
- 蜜芽关停近况,八位数重金买三字顶级新域名mia.com也关闭
2023-02-23 16:18:14
- 联想CEO杨元庆:联想集团需要裁员32%削减部分业务支出
2023-02-18 12:45:25
- 蓝色光标2022营收亏损18亿 客户预算减少明显
2023-02-18 12:40:08
- 三星工厂或将80%生产转至越南 因本地劳动力成本上升
2023-02-17 23:09:16
- 香港八达通卡如何激活?没用失效过期余额怎么办
2023-02-17 18:34:51
- 中兴通讯被曝将裁员20% 称只裁国外的
2023-02-17 18:33:26
- 苹果新iPhone15Pro手机终于改用USB-C(火牛)数据线??Lightning充电接口退出
2023-02-17 16:57:22
- 突发!蓝色光标曾为中国民企500强龙头 如今业绩亏损断崖下跌
2023-02-16 14:31:19
- 三星发布自家carplay车载中控系统 Car Mode for Galaxy 可以连接carplay吗?
2023-02-14 00:53:17
- Opera浏览器宣布集成ChatGPT 一键生成网页内容摘要
2023-02-14 00:32:08
- 谷歌google计划重返进入中国市场?但结果可能令你失望
2023-02-13 16:57:15
- Zoom紧急裁员1300人 佔员工总数15%
2023-02-08 14:59:11
最新资讯
- YouTube更新违反规定政策,提升惩处透明度和一致性2023-12-31 14:00:52
- 美国法院裁定阿里须为Squishmallows玩具侵权案答辩2023-12-28 19:59:34
- 小米汽车传员工3700人 雷军称小米汽车不可能卖9万92023-12-28 19:41:57
- 吉利飙逾6% 电动车品牌极氪新车款极氪007昨上市 预售价格22.99万元2023-12-28 19:30:28
- 日本丰田汽车厂11月全球产量创新高2023-12-28 19:26:02
手机
- 中国11月手机出货量增34% 5G手机出货量2709.2万部2023-12-28 19:27:57
- 荣耀发布新一代旗舰荣耀Magic5系列,新款上市价格分期0首付3999元起2023-03-06 16:12:32
- 美国商务部指违禁,长江存储被美国拜登制裁名单面临停工裁员2023-02-17 18:41:53
- 苹果Apple iOS车载系统CarPlay支持哪些更多汽车品牌2023-02-02 17:33:27
- 香港去哪买三星手机回来吗? 买香港便宜售价手机市场地点和网站2023-02-02 11:03:11
数码
- 华为5G芯片正式亮相:预示华为将发首款5G手机2023-08-31 13:22:33
- 腾讯传计划放弃虚拟现实VR硬件计划2023-02-17 23:32:30
- 三星手机份额大跌!三星手机中国市场份额变化国内仅剩3%2023-02-01 17:06:15
- 三星手机份额大跌在中国没市场了!国内市场占有率仅剩1%国外比苹果销量高2023-02-01 16:59:53
- vivo发布2022 vivoNEX手机极简易浏览器下载:简洁流畅无广告!2022-12-02 17:29:30
科技
- 中兴受美国制裁事件 被罚了20亿美元过程事件始末 中兴被制裁后公司现状2023-11-02 22:12:46
- B站怎么炸崩了哔哩哔哩服务器今日怎么又炸挂了?技术团队公开早先原因2023-03-06 19:05:55
- 苹果iPhoneXS/XR手机电池容量续航最强?答案揭晓2023-02-19 15:09:54
- 华为荣耀两款机型起内讧:荣耀Play官方价格同价同配该如何选?2023-02-17 23:21:27
- google谷歌原生系统Pixel3 XL/4/5/6 pro手机价格:刘海屏设计顶配版曾卖6900元2023-02-17 18:58:09