写点什么

分析 JavaScript 的性能

  • 2007-09-03
  • 本文字数:845 字

    阅读完需:约 3 分钟

Kirk Pepperdine 在一篇新文章中详细讨论了关于JavaScript 性能的主题。他的第一个发现是JavaScript 引擎规范要比JVM 的脆弱的多。有太多的JavaScript 实现,各自具有不同的执行环境。除了这一点外,他还深入了下列主题:

Getters/Setters

……我所遭遇的最具争议的一项建议,在 Java 世界里已经很久没人提起过了。这项建议是,应该避免使用 getter 和 setter,而应当采用直接访问来避免方法调用的额外开销。这项建议错在哪里?更重要的是,它对在哪里?在 Java 中使用 getter 和 setter 是被普遍认可的……

Ajaxian 和 JQuery 的创建者 John Resig 曾经讨论过 getter 和 setter。就像这个网站所演示的,是出于性能上的考虑。

由于缓存造成的糟糕的局部基准评测(Micro-benchmark

……由于 JavaScript 引擎中少得多的动态优化,有人会觉得局部基准评测要比在 Java 中容易得多。虽然问题是不同的,但是 JavaScript 的局部基准评测也没那么容易。糟糕的局部基准评测的最普遍的原因是缓存。在 Web 世界中缓存无处不在,伴随始终。而且通常它隐藏的很深……

内存泄露

……最有趣的发现是关于内存泄露和内存调优的优秀 blog 很少……我的最大问题是,如何在浏览器中得到来自 JavaScript 的内存泄露呢。我发现有几种好办法。第一个是在 DOM 中保留大量的隐藏元素……另一种更有趣和更可憎的内存泄露来自于闭包……

CPU 负载

……最后,几篇讨论客户机性能的 blog 指出一个存在的问题,但似乎遇到这个问题的 JavaScript 应用程序并不太多。这个问题就是过度使用 JavaScript 会耗尽 CPU……如果你试图让 JavaScript 做太多事情,它就会约束客户机的 CPU 效率(在那种情况下,性能削减的厉害)……

Pepperdine 在结束时提到 Yahoo 的基于 Firebug 的新性能工具 YSlow ,它能够检查大量预先定义好的常见 JavaScript 性能问题。另外一个最近发布的性能工具是 JsLex ,它可以比较 JavaScript 的执行性能,类似于 jProfile。微软研究院也在开发一种调优代理技术,叫做 Ajax View

查看英文原文: Analyzing JavaScript in Respect to Performance

2007-09-03 17:562314
用户头像

发布了 127 篇内容, 共 48.8 次阅读, 收获喜欢 5 次。

关注

评论

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

一文搞懂Go读写Excel文件

闫同学

Go 后端 11月月更

跟着卷卷龙一起学Camera--MIPI 02

卷卷龙

ISP camera 11月月更

智能运维|AIRIOT智慧光伏管理解决方案

AIRIOT

物联网

Best Practices for Node.js Security

Mahipal_Nehra

JavaScript node.js security Node Best Practice

如何免安装使用 Python?推荐 17 个在线的 Python 解释器!

Python猫

Python

python小知识-python序列化

AIWeker

Python 人工智能 python小知识 11月月更

2022-11-02:以下go语言代码输出什么?A:编译错误;B:apple;C:ant;D:panic。 package main import “fmt“ func main() {

福大大架构师每日一题

golang 福大大 选择题

重磅| 信创之路再加码,九科信息与中国长城完成兼容性测试

九科Ninetech

小平台SEO服务崛起:有搜索习惯和需求就有SEO服务

石头IT视角

第一篇文章 | 记录我的Java学习之路 | 一切从零开始

祖国滴花骨朵儿

学习笔记 Java学习 零基础 11月月更

重磅!哈啰 Quark Design 正式开源,下一代跨技术栈前端组件库

Allan sir

前端 前端开发 WebContents 11月月更

深度测评FL Studio性能,多年Fl Studio使用感受分享

懒得勤快

Matplotlib基础教程之折线图

芯动大师

Python matplotlib 11月月更

快速创建软件安装包-ClickOnce

沙漠尽头的狼

网络地址转换(NAT)(一)

我叫于豆豆吖.

11月月更

铸剑记:2022国产手机自研技术演义

脑极体

聊聊香港优才(56/100)

hackstoic

Apache Beam基本架构

穿过生命散发芬芳

11月月更 Apache Beam

从1024开始,我们漫谈编程的本质

闫同学

编程 编译原理 11月月更

dns-client占用cpu过高的问题解决方案

我是一个茶壶

win10 DNS 11月月更

计算机网络:组帧

timerring

计算机网络 11月月更

Dubbo 可观测性实践之 Metrics 功能解析

阿里巴巴云原生

阿里云 开源 云原生 dubbo

峰会实录 | StarRocks PMC Chair 赵纯:数据分析的极速统一3.0 时代

StarRocks

数据库

【愚公系列】2022年11月 Go教学课程 039-文件操作

愚公搬代码

11月月更

1024共码未来(一览中华风华,API First)

叶秋学长

程序员 API 1024 11月月更

Swagger-knife4j介绍

默默的成长

前端 swagger 11月月更

互联网安全架构设计原则

阿泽🧸

互联网安全 11月月更

🚀使用“release-it”一气呵成:version、tag、changelog 等

小鑫同学

前端 nodejs 11月月更

从柯里化讲起,一网打尽 JavaScript 重要的高阶函数

掘金安东尼

前端 11月月更

【Linux】调试器-gdb使用

过眼云烟

学习 记录 11月月更

web--文件上传

我是一个茶壶

WEB安全 文件上传 11月月更

分析JavaScript的性能_Java_Scott Delap_InfoQ精选文章