写点什么

研究 JavaScript 性能

  • 2008-02-14
  • 本文字数:625 字

    阅读完需:约 2 分钟

性能问题常常在你开发最新最棒的 web 2.0 应用程序时悄然而至,成为你的绊脚石。很多时候,性能问题仅是由极为平常的良性操作所造成。最近, Coach Wei 许多不同的 Javascript 操作的性能及其在各浏览器下的性能表现作了快速的比较与小结。结果实际上并不完全出乎我们的意料。

正如所料,eval 仍然很“邪恶”,在所有的浏览器下都很慢。但特别有趣的是,说它在 Safari 下性能差似乎并不公平,因为相对于 eval 在 IE7 下需要 172ns,在 Firefox 下需要 546ns 的表现,它在 Safari 下只占用 9.4ns。Shift 和 Join 这些数组操作在众浏览器下都很扯性能的后腿。

在他的结果报告中,有一点很有意思,但也是意料之中的事,那就是,IE 在性能方面的表现不如其它浏览器,尤其是在关键的 computed box model 计算、String 处理、以及 HTML DOM 操作方面。另外,正如我们之前所看到的,虽然较新的浏览器版本有一些改善,但 DOM 操作一般在各浏览器下的开销依旧很大。而且,使用 innerHTML 似乎仍然比完成相同任务的 DOM 操作性能更好。

该研究报告中,其它一些值得关注的要点有:

  • Safari 的 pop 数组操作明显不及其他浏览器的实现。
  • 计算 computed style 和 computed box model 开销可能很大……这可能是由于每次调用对 currentStyle 属性进行重计算所造成。
  • 对象的创建和"in"操作在 Firefox 下运行得比其他浏览器慢。

Coach Wei 的关于比较结果的综合表,很值得一看,很多结果都可以成为你 debug 性能瓶颈时的指南。

查看原文: Studying JavaScript Performance

2008-02-14 22:441485
用户头像

发布了 71 篇内容, 共 22.3 次阅读, 收获喜欢 3 次。

关注

评论

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

「架构师训练营」第 2 周学习总结

guoguo 👻

极客大学架构师训练营

第二章总结

大雄

第二周作业

LEAF

【喜迎端午】够强大,才够出“粽”,加入InfoQ写作平台,领取节日限定头像标识

InfoQ写作社区官方

写作平台 端午节 热门活动

架构师第二周课后作业

傻傻的帅

极客大学架构师训练营

架构师训练营第二周作业

路人

第二周 - 作业

Happy-Coming

架构第二周-学习总结

J.Smile

极客大学架构师训练营

【week02】总结

chengjing

依赖倒置

陈皮

架构师训练营第二周总结

Hanson

架构师训练营第2周作业

在野

极客大学架构师训练营

依赖倒置原则

清风明月

极客大学架构师训练营

无抽象不架构

菜根老谭

架构 抽象 架构思维 抽象思维

第二周总结

Thrine

游戏夜读 | 中国移动游戏简史

game1night

架构师训练营 No.2 周作业

连增申

原创 | TDD工具集:JUnit、AssertJ和Mockito (二十三)编写测试-并行测试

编程道与术

Java 编程 TDD 单元测试 JUnit

JavaScript中删除树形结构数据里的节点

码字与律动

Java

架构师训练营-W02S-架构设计

b1a2e1u1u

极客大学架构师训练营

Spring BeanPostProcessor 你不能不知道的事

CoderLi

Java spring 程序员 源码分析 后端

架构师训练营 第二周作业

fujin

极客大学架构师训练营

第二周总结

LEAF

架构师训练营-W02H-架构设计

b1a2e1u1u

极客大学架构师训练营

架构师训练营第二周课后作业

竹森先生

极客大学 极客大学架构师训练营

架构师训练营-第2课总结-20200613-软件设计

👑👑merlan

架构总结 软件设计

Netty4.x的Channel相关类图及分析

娄江国

【week02】作业

chengjing

「架构师训练营」第2周作业

fujin

ioc 极客大学架构师训练营 第二周作业

架构师训练营作业

Hanson

架构师训练营 - 第二周学习总结

hellohuan

极客大学架构师训练营

研究JavaScript性能_Java_James Carr_InfoQ精选文章