BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

MIT开发Polaris,使网页载入加快34%

| 作者 Sergio De Simone 关注 17 他的粉丝 ,译者 刘嘉洋 关注 0 他的粉丝 发布于 2016年3月16日. 估计阅读时间: 3 分钟 | QCon上海2018 关注大数据平台技术选型、搭建、系统迁移和优化的经验。

Polaris是一款新颖的JavaScript框架,可以帮助网页加载时间平均减少34%。这款框架是由麻省理工学院(MIT)计算机科学与人工智能实验室(CSAIL)与哈佛大学的研究人员共同开发, Polaris可帮助减少网络往返中产生的延时。

根据会在下一期USENIX组织的NSDI研讨会上发表的论文,MIT的博士生Ravi Netravali以及其他人基于两个工具解释了这个新方法:

  • Scout可以追踪在页面加载过程中出现的JavaScript堆和DOM内的细粒度数据流。
  • Polaris是JavaScript客户端调度器,可载入Scout图像来合成一个网页。

相依性分析是被普遍使用在浏览器加载资源方法优化的技术。根据Netravali所说,在Scout之前,这种分析是基于HTML标签之间的语意关系完成的,但是它缺失了许多细粒度相依性,我们在下图中可以看到一个实例。

从另一方面来说,Scout正在努力发掘HTML层面的相依性,JavaScript文件之间的相依性以及JavaScript和DOM元素间的相依性。

Scout通过提供细粒度相依图,使浏览器能更好地安排资源加载,Polaris JavaScript调度器的作用就显现了出来。Polaris可以在普通的浏览器上正常运行,也可以根据页面的Scout图计算动态的临界荷载路径,其服务器能够与它所提供服务的HTML页面和Polaris自身相关联。从定义上来说,动态的临界荷载路径是当前拥有最多未解决对象的路径,与静态加载路径不同,它由Scout提供并受到顺序和以及网络读取完毕延迟的影响。

Polaris根据动态的临界荷载路径划分了读取和评估对象的先后顺序,它致力于平行利用客户端CPU及网络,并保持客户端网络通道都在使用,给浏览器限制最大网络同时请求数目。

Polaris项目的研究人员在不同的网络环境下测试了他们的系统,“从25ms到500ms的延迟,从1Mbps到25Mbps的带宽”,以及在200个大众网站上进行了测试。他们认为,这表明了在平均情况下,减少的时间多达34%,而在95%的情况下,时间的减少可以达到50%。性能随着网站的改变而改变,复杂的页面会较高,而大量运用缓存的页面则会较低。

查看英文原文MIT's Polaris Touts Making Web Pages 34 Percent Faster


感谢张龙对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入InfoQ读者交流群InfoQ好读者(已满),InfoQ读者交流群(#2)InfoQ好读者)。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT