写点什么

分析 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:562144
用户头像

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

关注

评论

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

纵观 Excel 演化史,开发者如何通过“表格技术”提升企业生产力

葡萄城技术团队

Excel SpreadJS

大作业一

走走,停停……

真牛!成功跳槽百度工资从15K涨到28K,附赠课程+题库

欢喜学安卓

android 程序员 面试 移动开发

Spark 3.0 关键新特性回顾

hanke

大数据 spark 开源

招聘 | 腾讯云大数据,期待您的加入!

腾讯云大数据

大数据

来啦!2020 Java开源项目权威排名解读:Spring Boot排名稳定、Shiro未上榜

JavaGuide

开源 springboot springsecurity shiro

中国用户规模最大教育科技独角兽作业帮再获投资机构青睐

看透Spring MVC源代码分析与实践

田维常

Java

原始时代对分布式架构的探索

Dark

涨知识!Android面试真题解析火爆全网,搞懂这些直接来阿里入职

欢喜学安卓

android 程序员 面试 移动开发

全球台式机CPU市场二八分定型,英特尔仍旧占据全球最大份额

E科讯

GitHub 的野心,5600 万开发者的新社区

打工人 Coco

GitHub 开源 开源社区

这些面试题你会吗?为什么有人说Android开发不再吃香?最全的BAT大厂面试题整理

欢喜学安卓

android 程序员 面试 移动开发

阿里云技术专家解读:2021 年六大容器技术发展趋势

阿里巴巴云原生

云计算 阿里云 容器 云原生 k8s

从 RxJS 到 Flink:如何处理数据流?

Apache Flink

flink 流计算

大作业2

走走,停停……

区块链加密货币钱包系统APP开发|区块链加密货币钱包软件开发

系统开发

七大关于DevOps的误解,你中了几招?

禅道项目管理

DevOps 运维 开发 自动化测试

数仓实时化改造:Hudi on Flink 在顺丰的实践应用

Apache Flink

flink 流计算

为PostgreSQL的表自动添加分区

PostgreSQLChina

数据库 postgresql 开源

深入讲解拉链表,还怕面试官问?

大数据老哥

大数据 数据模型 数仓项目

3轮技术面+总监面+HR面轻松砍下阿里口碑Offer!

Java架构追梦

Java 面试 架构师 口碑Offer

OpenYurt 入门 - 在树莓派上玩转 OpenYurt

阿里巴巴云原生

阿里云 开源 容器 云原生 中间件

重学JS | 深入理解Object,必会知识点汇总

梁龙先森

大前端 编程语言

京东面试:说说MySQL的架构体系

田维常

MySQL

从源码层面理解ArrayList 扩容策略

geekymv

Java 扩容 ArrayList

在线教育的发展

anyRTC开发者

AI 音视频 WebRTC 在线教育

图灵测试已过时,AI 需要新基准测试;别了Flash,Adobe播放器正式停运

京东科技开发者

云计算 AI 量子计算机

Selenium高效拍档-HtmlUnit

dothetrick

Java 自动化测试 测试开发

依赖倒置原则与单一接口隔离原则

Andy

前端异常监控 Sentry 的私有化部署和使用

智联大前端

大前端 监控 异常 sentry 错误

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