写点什么

研究 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:441234
用户头像

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

关注

评论

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

仅需几行代码轻松实现第一人称行走

ThingJS数字孪生引擎

大前端 3D可视化 数字孪生

一周信创舆情观察(5.10~5.16)

统小信uos

做了一个开源的在线互动教室,想分享给大家

千竹

开源 WebRTC 在线教育 在线课堂 互动白板

并发王者课 - 青铜 2:峡谷笔记 - 简单认识Java中的线程

MetaThoughts

Java 后端 多线程 并发 王者并发课

2021年10年后端开发程序员最新《C/C++Linux 服务器开发》学习路线总结,建议收藏

奔着腾讯去

学习 服务器集群 Linux服务器开发 C++后台开发

数字货币与加密货币、虚拟货币的区别

meio

比特币 数字货币 加密货币 虚拟货币

花重金购买的“Java面试知识点”真香,知彼知己,百战不殆

Java架构师迁哥

Matlab制作视频并转换成gif动态图的方法

格致君的planB

一篇文章带你搞懂Python中的类

格致君的planB

TypeScript 开发环境搭建

Emperor_LawD

typescript ts 520单身福利 520 单身福利

马斯克会在熊市周期里瞄准下一个百倍币么?

猫Buboo

区块链 狗狗币

4月热搜:揭秘金融级人脸实名认证解决方案背后的技术硬货

百度大脑

百度

Flutter 混合开发基础

网易云信

flutter

架构训练营模块 4 作业 - 江哲

江哲

2021年4月券商App行情刷新及交易体验评测报告

博睿数据

终于有腾讯云大神把困扰我多年的Redis(分布式锁、延时队列、位图、布隆过滤器、漏斗限流)全部讲清楚了

Java 程序员 架构 面试

打破固有思维(十四)

Changing Lin

HarmonyOS 的分布式技术,让小朋友爱上涂鸦

科技汇

新垣结衣嫁了个“非典型性”程序员

小智

程序员 软件开发 日本

浅谈 Serverless 开发和应用

网易云信

Serverless

指挥中心可视化研判分析系统搭建解决方案

hive交互的几种方式

五分钟学大数据

大数据 hive 5月日更

BOE(京东方)亮相世界智能大会 创新科技强势发力智慧物联新赛道

DT极客

阿里架构师自爆“面试指南(泰山版)”所有的成功都不是白给的

Java架构师迁哥

【建议收藏】B站上有哪些值得反复观看的Java视频教程?

格致君的planB

指挥中心可视化研判分析系统搭建解决方案

一款优秀数据库中间件的不完全解析

Coder的技术之路

源码阅读 源码刨析 数据库中间件

比特币披萨节由来:11年前BTC首次在现实世界使用

meio

比特币

大厂面试题之计算机网络重点篇(附答案)

linux大本营

c++ Linux 网络协议 udp TCP/IP

作为骨灰级MEME项目,Grin接下来会走向何方?

猫Buboo

IPFS与 Filecoin的区别是什么?

meio

IPFS Filecoin

研究JavaScript性能_Java_James Carr_InfoQ精选文章