写点什么

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

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

关注

评论

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

为什么大数据工程师比数据科学家的需求更大

雨果

数据工程师

信创升级 | 秒云与人大金仓完成兼容性互认证

MIAOYUN

数据库 信创 国产数据库 信创云 容器云平台

深入剖析nodejs中间件

coder2028

node.js

组装式交付-云巧 知多少

六月的雨在InfoQ

9月月更 云巧 组装式交付 云巧资产 云巧工坊

想从事运维岗位应该学习什么技能?谁能告诉一下?

行云管家

运维 网络运维 IT运维

玩转 Flowable 流程实例

江南一点雨

Java springboot workflow flowable

数据API开发如何快速上手:先了解什么是数据API生命周期管理

雨果

API 数据api

阿里云服务器ECS基本操作指南

六月的雨在InfoQ

阿里云 SSH xshell 云服务器ECS 9月月更

Java | this和super关键字【深入理解子类和父类的继承关系】

Fire_Shield

super this 9月月更

【编程基础】利用Python实现阿姆斯特朗数的求解

迷彩

Python 9月月更 阿姆斯特朗数 水仙花数

Java开发5年,复习1个月成功上岸京东物流,面试和复习思路分享

钟奕礼

Java 面试 java;

模块一作业

Geek_1264yp

中心化决议管理——云端分析

字节跳动终端技术

ios 研发效能 CocoaPods 制品库 云化服务

SAE 助力贵州酒店集团从容支撑贵州特产抢购

阿里巴巴中间件

阿里云 Serverless 云原生 SAE

HTTP - TLS1.3 初次解读

懒时小窝

一比一手写迷你版vue,彻底搞懂vue运行机制

hellocoder2029

JavaScript

概述数据交换的构建策略

穿过生命散发芬芳

数据交换 9月月更

手写vue-router核心原理

hellocoder2029

Vue

开发者有话说|成长之路

六月的雨在InfoQ

个人成长 开会 996 007 9月月更

时隔一年多 jQuery 再度发布 3.6.1 新版本,你还在用JQ吗?

茶无味的一天

JavaScript 前端 框架 ​jQuery

2022届秋招Java岗高频面试题盘点,老司机也未必全会,真的太卷了

钟奕礼

Java 面试 java;

java基础面试题

钟奕礼

编程 java;

LED显示屏价格与品质哪个更重要

Dylan

LED LED显示屏 led显示屏厂家

【Java深入学习】并发常见方法的注意事项

钟奕礼

Java 面试 java;

公司用的堡垒机叫什么?多少钱?

行云管家

网络安全 堡垒机 等级保护 过等保

融云x白鲸《2022社交泛娱乐出海白皮书》

融云 RongCloud

互联网 白皮书 融云

2022第三届云原生编程挑战赛--Serverless VSCode WebIDE使用体验

六月的雨在InfoQ

Serverless 边缘容器 9月月更 Serverless VSCode WebIDE 线上ide

字节半天*3面/5天拿offer,全凭自身硬实力和这份Java面试笔记

钟奕礼

Java 面试 java;

架构实战训练营模块1作业--开启架构之旅

阿姆斯壮

架构实战营 #架构实战营

IP地址和MAC地址都可以确定目标地址,为什么二者都在使用,舍弃一个是否可行?

阿柠xn

Mac IP 网络 协议族 9月月更

idea 远程开发 client

黄敏

研究JavaScript性能_Java_James Carr_InfoQ精选文章