`
netcome
  • 浏览: 485246 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

剖析IE浏览器子系统的性能权重

阅读更多

最近,InfoQ中文站报道了Web 2.0应用客户端性能问题十大根源,获得了读者朋友的关注。那么,如何从浏览器角度剖析性能问题呢?微软IE开发团队性能主管Jason Weber在一篇博文中介绍了IE浏览器的各个子系统,并通过实验数据展示了不同网站对浏览器子系统的性能影响和权重,InfoQ中文站对相关内容做了整理,希望对浏览器开发人员和Web应用开发人员有所帮助。

Jason Weber指出,所有现代浏览器从概念上讲都是类似的。以IE为例,它由11个核心子系统组成:

图1. IE子系统(来源:IE博客,下同)

Networking——负责客户端与服务器端的所有通信,包括Web内容的本地缓存。它通常受制于用户网络环境的性能。

HTML——负责解析HTML文档并创建HTML结构化数据等。

CSS——负责解析CSS并创建CSS结构化数据。

Collections——存储和访问HTML文档中的元数据,如文档头部的描述信息等。

JavaScript—— 执行JavaScript代码,它也是最为人所知的子系统。

Marshaling——因为大多数JavaScript引擎没有直接集成到浏览器中,所以浏览器和JavaScript引擎之间存在一个通信层,这就是marshaling子系统。

Native OM——JavaScript通过DOM API与HTML文档交互,提供这些API的就是Native OM系统,能够访问和处理文档。

Formatting——负责将style应用到文档中。

Block Building——负责构建显示给用户的矩形块(CSS基于块布局),包括块尺寸等。

Layout——负责布局经过Formatting和Block Building子系统处理后的Web内容和块结构。

Rendering——负责把最终内容渲染给用户。

为了分析不同网站对浏览器子系统的各种性能影响和权重,IE性能团队选取了两种类型的网站进行实验。由于Networking子系统的性能与客户的环境息息相关,所以不将其权重纳入评估结果中。

新闻网站

采用IE 8访问全球五大新闻网站的首页,性能结果如图2所示:

图 2. IE 8子系统针对5大新闻网站的性能结果

由图2可以看出,虽然同为新闻网站,但是由于Web开发人员对网站性能的关注和优化程度不同,IE 8子系统对5个首页的性能反馈都不一样。1号网站的主要性能消耗在JavaScript子系统上,2号网站的重头戏则是Marshaling子系统。3号网站显然遵循了性能最佳实践经验,所以消耗时间最短;而4号网站则是反面典型,加载时间达到了3.7秒。

如果把这5大新闻网站对IE 8子系统的影响权重综合在一起,就可以得到针对新闻网站的子系统性能影响权重,如图3所示:

图 3. 新闻类网站对IE 8子系统的性能影响权重

上面这张图对于Web开发人员特别是新闻类网站工程师很有参考价值,排在前三位的子系统分别是JavaScript (29%)、Marshalling(18%)和Rendering (17%)。

AJAX网站

采用IE 8访问全球AJAX用户体验最丰富的25家网站(包括Facebook、Gmail和Hotmail等),性能结果如图4所示:

图 4. AJAX类网站对IE 8子系统的性能影响权重

与新闻类网站相比,某些子系统如HTML、CSS和JavaScript权重相对较轻,而另外一些子系统如Formatting、Layout、Block Building和Rendering(31%)则比较重要。乍一看,这种结果可能有些意外。不过,Jason Weber分析了原因:

当JavaScript代码执行时,浏览器需要利用几乎全部子系统来配合相应的变化并最终显示给用户,而这些过程的性能消耗通常要比执行JavaScript代码本身要昂贵得多。

Jason Weber最后指出,分析IE浏览器子系统性能权重的目的在于确保让IE 9或者更新版本在现实世界中运行速度更快。在过去几个月里,IE开发团队针对上面的性能实验结果采取了若干子系统的性能改进,包括硬件加速渲染编译JavaScript原生内部集成JavaScript等。

对于浏览器子系统的性能权重分析具有很高的参考价值,一方面可以帮助浏览器开发人员了解现实世界对自身产品的反馈,评估各个子系统的功能优先级;一方面能够帮助Web开发人员清楚其应用对浏览器的性能压力,采取合适的优化调整。

分享到:
评论

相关推荐

    WINDOWS存储子系统性能分析

    ### WINDOWS存储子系统性能分析 #### 引言 在当今高度依赖信息技术的社会中,计算机系统的性能至关重要,而其中存储子系统的性能则是整个系统性能的重要组成部分。本文将详细探讨运行Microsoft Windows 2000、...

    支持IE浏览器调试js调试插件

    本文将详细介绍一款专为IE浏览器设计的JS调试插件及其使用方法。 首先,我们要理解为什么IE浏览器需要特定的JS调试工具。与其他现代浏览器如Chrome、Firefox相比,IE在处理JavaScript时可能有不同的行为。例如,它...

    IE浏览器网页网址监控

    标签中的“IE浏览器”是指微软的Internet Explorer,它是Windows操作系统早期默认的网页浏览器。“网页监控”指的是对用户在浏览器中进行的网络活动进行跟踪和分析。“VC”则代表Visual C++,这是一个广泛使用的...

    ie插件ie插件ie插件ie插件ie插件ie插件

    另一个文件名"IE浏览器插件Web Developer中文版.rar"可能指的是Web Developer工具,这是一个非常实用的开发工具集,为多种浏览器(包括IE)提供了一系列的测试和调试工具。Web Developer插件通常包含选项卡,如HTML...

    IE内存泄露分析工具:sIEve/Drip

    sIEve是一款小巧的、免费的Windows应用程序,它能够监测和分析IE浏览器的内存使用情况。该工具可以记录IE在运行过程中内存分配和释放的情况,从而帮助开发者找出可能导致内存泄漏的代码段。当IE浏览器的内存占用持续...

    linux mmc子系统分析

    Linux MMC 子系统分析 Linux MMC 子系统是 Linux 设备驱动中一个不可缺少的部分,mmc 子系统已经衍生到 SD,SDIO 相关的技术了。mmc 子系统的主要内容包括mmc 子系统的结构组织、platform 总线、mmc 总线、sdio 总线...

    C#版“我的IE浏览器”

    《C#版“我的IE浏览器”深度解析》 在编程领域,C#是一种广泛应用的面向对象的编程语言,尤其在Windows应用开发中占有重要地位。本项目“我的IE浏览器”正是利用C#语言构建的一个模仿IE6浏览器的程序,旨在为开发者...

    IE浏览器经典故障大全

    ### IE浏览器经典故障大全 #### 一、IE页面无法正常加载及错误提示处理方法 ...由于IE浏览器版本众多,不同的系统环境下可能出现的问题也不尽相同,因此在实际操作过程中还需要结合具体情况进行针对性的调整。

    基于DOM结构的分布式IE浏览器漏洞挖掘探究.pdf

    在探讨IE浏览器漏洞挖掘技术的过程中,本文首先指出软件漏洞对用户隐私和利益造成严重威胁,尤其在浏览器领域中,IE浏览器由于其广泛使用和市场份额,其安全问题显得尤为重要。基于这种背景下,IE漏洞的挖掘显得尤为...

    电脑知识操作技巧大全(电子书)——IE浏览器经典故障分析与实战解决方案借鉴.pdf

    以上是针对IE浏览器常见故障的分析和解决策略,这些技巧可以帮助用户自行解决IE浏览器在使用过程中遇到的问题,提高浏览体验。在处理这类问题时,确保备份注册表或系统数据,以防止不必要的数据丢失。同时,保持...

    IE下获取XPATH小工具源码_xpath_

    在IE浏览器下,为了方便开发者获取XML或HTML文档中的XPath路径,存在一种小工具,本文将探讨这个C#编写的IE下获取XPath的小工具源码。 首先,我们需要理解XPath的基本概念。XPath使用路径表达式来选取节点,这些...

    软件系统性能测试报告

    本软件系统性能测试报告旨在详尽记录和分析我们进行的压力测试过程,以便评估系统在不同负载条件下的性能表现。压力测试是通过逐步增加负载来检验系统的稳定性和响应能力,以确保其在高并发或大数据量的情况下仍能...

    IE浏览器开发人员工具中实用的“小工具”.docx

    IE浏览器开发人员工具不仅为开发者提供了强大的网页调试和分析手段,还为普通用户提供了一些实用的功能,如查看源代码、管理缓存、测量网页元素、颜色选取以及浏览器模式切换。这些“小工具”使得IE浏览器不仅仅是一...

    IE浏览问题.pdf

    IE浏览器问题解析 【标题】: IE浏览问题 【描述】: IE浏览问题 【标签】: 【部分内容】: IE浏览器问题解析 ...IE浏览器问题是常见的计算机问题,解决方法是多方面的,需要根据具体情况进行分析和解决。

    COM ATL SHELL EXTENSION向IE浏览器添加右键快捷菜单项.zip

    COM ATL SHELL EXTENSION是一种技术,它允许开发者向Windows操作系统中的文件或文件夹在资源管理器或者IE浏览器中添加自定义的右键快捷菜单项。这个压缩包包含了一系列的源代码文件和资源文件,用于创建这样一个扩展...

    ie事件捕获控件 捕获ie浏览器到打开链接等等的事件

    在IE浏览器中,事件通常从最具体的元素(如一个按钮)开始,然后向上冒泡到更不具体的元素(如其父元素),直到到达文档的根节点。然而,通过事件捕获,我们可以选择在事件到达目标元素之前处理它,这样可以提前进行...

    IE恢复器 Delphi源码

    学习和分析【IE恢复器 Delphi源码】不仅可以提高对Delphi编程的理解,还可以深入探究IE浏览器的工作机制,以及如何应对网络威胁。对于那些想要开发类似工具或者提升网络安全防护能力的程序员来说,这是一个非常有...

    层次分析法软件(权重计算工具)

    层次分析法(Analytic Hierarchy Process,简称AHP),是由美国运筹学家Thomas L. Saaty教授提出的,是一种定性和定量相结合的、系统化的方法,用于处理多目标、多准则或多方案的复杂决策问题。它通过将复杂问题分解...

    基于MATLABSimulink的PSK频带传输系统仿真与性能分析.docx

    基于MATLABSimulink的PSK频带传输系统仿真与性能分析.docx基于MATLABSimulink的PSK频带传输系统仿真与性能分析.docx基于MATLABSimulink的PSK频带传输系统仿真与性能分析.docx基于MATLABSimulink的PSK频带传输系统...

    层次分析法秋权重

    层次分析求权重,。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。...

Global site tag (gtag.js) - Google Analytics