写点什么

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

  • 2016-03-15
  • 本文字数:998 字

    阅读完需:约 3 分钟

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 读者交流群(#2))。

2016-03-15 19:002719
用户头像

发布了 218 篇内容, 共 61.6 次阅读, 收获喜欢 73 次。

关注

评论

发布
暂无评论
发现更多内容

详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain

鳄鱼视界

如何使用 Apache IoTDB 中的 UDF

Apache IoTDB

UDF IoTDB

程序调试利器——GDB使用指南

京东科技开发者

c++ debug gdb 企业号 3 月 PK 榜 程序检测

Deploy Workshop|DIY部署环境,让OceanBase跑起来

OceanBase 数据库

数据库 oceanbase

k8s 探测方法总结

Geek_f24c45

#k8s

类加载机制

Apache IoTDB

IoTDB

超越ChatGPT:大模型的智能极限

OneFlow

人工智能 深度学习 ChatGPT

开源即时通讯IM框架 MobileIMSDK:快速入门

JackJiang

网络编程 即时通讯 IM

你也能成为“黑客”高手——趣谈Linux Shell编程语言

京东科技开发者

Linux 系统架构 操作系统 开发 企业号 3 月 PK 榜

更人性化的无阈值监控不再为无效告警烦恼

观测云

运维 可观测性 监控告警 观测云 可观测性用观测云

mac无损音乐播放器软件:Audirvana使用设置技巧

魔仙苹果mac堡

Audirvana

基于 eBPF 的 Serverless 多语言应用监控能力建设

Serverless Devs

Serverless

数据基础设施 NFTScan 新增支持 Gnosis 网络

NFT Research

NFT 区块链、

OceanBase 第六期技术征文活动|小鱼还能“更快”吗?你来试试

OceanBase 数据库

数据库 oceanbase

A/B实验避坑指南:为什么不建议开AABB实验

字节跳动数据平台

大数据 云服务 数据产品 AB testing实战

详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain

威廉META

Apache Flink 1.16 功能解读

Apache Flink

大数据 flink 实时计算

FL Studio编曲2023最新水果中文版本功能介绍

茶色酒

FL Studio 21

CDR2023下载安装图文教程coreldraw23

茶色酒

CorelDraw2023

写入性能:TDengine 最高达到 InfluxDB 的 10.3 倍,TimeScaleDB 的 6.74 倍

TDengine

大数据 tdengine 性能测试 时序数据库 国产数据库

走进RocketMQ(四)高性能网络通信

白裤

Java RocketMQ io RocketMQ网络通信

面对“中国式报表”需求, 瓴羊 Quick BI的电子表格优于Tableau?

夏日星河

初识VUE响应式原理

京东科技开发者

Vue 系统架构 Proxy 企业号 3 月 PK 榜 响应系统

打造成熟产品矩阵,瓴羊Quick BI数据可视化获认可

小偏执o

Serverless 时代开启,云计算进入业务创新主战场

Serverless Devs

Serverless

OceanBase 4.0 解读:全链路追踪要解决什么问题?从一条慢SQL说起

OceanBase 数据库

数据库 oceanbase

如何在本地编译安装部署自动化回归测试平台 AREX

AREX 中文社区

自动化测试 接口测试 回归测试 java-agent

敏捷开发工具leangoo时间线视图管理项目

顿顿顿

Scrum 敏捷开发 甘特图 敏捷开发管理 时间线

云原生应用配置管理的5个最佳实践

HummerCloud

云原生

详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain

股市老人

详解基于 Celestia、Eclipse 构建的首个Layer3 链 Nautilus Chain

EOSdreamer111

MIT开发Polaris,使网页载入加快34%_JavaScript_Sergio De Simone_InfoQ精选文章