QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

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

关注

评论

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

升级企业数智化底座是数智化2.0阶段的“最优解”

用友BIP

用友iuap 用友技术大会 数智化底座 数智化2.0阶段

作为前端你还不懂MutationObserver?那Out了

不叫猫先生

JavaScript 前端 三周年连更 MutationObserver

人脸识别:城市公共交通

百度开发者中心

人工智能 人脸识别

从“捐赠”到“接受捐赠”,这背后是openEuler的两次蜕变

极客天地

招商基金数字化转型下的研发管理|标杆案例

万事ONES

大淘宝技术斩获NTIRE 2023视频质量评价比赛冠军(内含夺冠方案)

阿里巴巴大淘宝技术

视频 NTIRE

如何系统地学习Spring Boot?

博文视点Broadview

PVP2多屏幕演示投放软件:PVP2 ProVideoPlayer2 中文版

真大的脸盆

Mac Mac 软件 视频播放器 视频播放

在 Kubernetes 中实施零信任的七条准则

NGINX开源社区

nginx Kubernetes

用友自主研发企业商用版TimensionDB时序数据库重磅发布!

用友BIP

数据库 用友iuap 用友技术大会 升级企业数智化底座

HSM加密机集群&监控方案

白粥

监控 集群 加密机

Wallys/QSDK/IPQ4019 and IPQ4029 chipsets support 20 km remote transmission

Cindy-wallys

IPQ4019 ipq4029

软件测试/测试开发丨uiautomator2 自动化测试工具使用

测试人

软件测试 自动化测试 测试开发 uiautomator

法大大发布数智化签约管理平台,赋能企业高效增长

人称T客

c语言把8个char类型的值(char中存放的是16进制值)转换成一个int类型代码

linux大本营

C语言 char int

少年与阿童木:一场软件竞技赛背后的智能未来

脑极体

机器人 华为云

智汇昌平,数赢未来——宝德京产自主创新服务器正式下线

极客天地

极客时间「大师课·深度剖析 RocketMQ5.0」上线啦,欢迎免费领取!

Apache RocketMQ

云原生 消息队列

Cloud Studio 一个好用的在线编程工具

CODING DevOps

开发 部署 Cloud Studio 云端IDE 在线编程

DataX助力Oracle数据库迁移

白粥

数据迁移 DataX

设计模式天花板,详解23种设计模式+7大设计原则

小小怪下士

Java 程序员 设计模式

iOS MachineLearning 系列(5)—— 视频中的物体运动追踪

珲少

人工智能时代来临,殊不知低代码早已出手

加入高科技仿生人

人工智能 低代码 数智化 数智融合

攻防大牛在身边,2023首届阿里云CTF 大赛冠军揭晓

Lily

低代码是开发的未来,还是只能解决边角问题的鸡肋?

引迈信息

前端 后端 低代码 JNPF

软件测试/测试开发丨Linux 常用高频命令

测试人

Linux 软件测试 自动化测试 测试开发

测试Java初学者建议

FunTester

为什么老有人想让我们“程序员”失业? | 社区征文

不叫猫先生

人工智能 程序人生 ChatGPT 三周年征文

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