阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

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

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

关注

评论

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

【量化】资产组合理论:鸡蛋不能放在一个篮子里

恒生LIGHT云社区

量化投资 量化

元气部落盲盒芒趣一番赏盲盒app开发搭建

风行无疆

Java开发框架Struts相关知识分享

@零度

struts JAVA开发

从微服务架构的现状和未来看学习路径

博文视点Broadview

Linux云计算架构师:Linux全套实战学习资料

侠盗安全

Linux linux运维 运维工程师 云计算架构师 linux电子书

学python,怎么能不学习scrapy呢,这篇博客带你学会它

梦想橡皮擦

12月日更

【LeetCode】截断句子Java题解

Albert

算法 LeetCode 12月日更

全网最全-混合精度训练原理

科技热闻

团队基建系列 - 组织知识传承 1

搬砖的周狮傅

团队成长

Flutter 动画【Flutter专题16】

坚果

flutter 28天写作 签约计划第二季 12月日更

大厂算法面试之leetcode精讲24.其他类型题

全栈潇晨

算法 LeetCode

给弟弟的信第5封|从高中到大学的体会

大菠萝

28天写作

华云大咖说 | 华云校园信创云解决方案

华云数据

华云数据

react源码解析18事件系统

buchila11

React React Hooks

【HarmonyOS 专题】01 基础 Mac 环境安装配置

阿策小和尚

HarmonyOS 28天写作 Android 小菜鸟 12月日更

对话中国人寿:DevOps实践经验分享

龙智—DevSecOps解决方案

DevOps 中国人寿

Go语言学习查缺补漏ing Day4

恒生LIGHT云社区

编程语言 Go 语言

使用 javap 分析 Java 的字符串操作

Jerry Wang

Java jdk 28天写作 12月日更 javac

Android C++系列:Linux线程(四)线程同步

轻口味

android 28天写作 12月日更

Prometheus Exporter (十九)Collectd Exporter

耳东@Erdong

Prometheus 28天写作 exporter 12月日更 Collectd

大厂算法面试之leetcode精讲23.并查集

全栈潇晨

算法 LeetCode

Git进阶(十一):Git 常用操作汇总

No Silver Bullet

git 12月日更

网络协议之:基于UDP的高速数据传输协议UDT

程序那些事

TCP 网络协议 udp 程序那些事 12月日更

字节码引用检测原理与实战

vivo互联网技术

编程语言 字节码编程 引用

鸿蒙智联设备开发,这五大法宝你应该拥有|HDC2021技术分论坛

HarmonyOS开发者

HarmonyOS

喜报 | 旺链科技获批张江国家自主创新示范区专项发展资金!

旺链科技

区块链 数字经济 产业区块链

12 张图 | 深入理解 Eureka三层缓存架构

悟空聊架构

缓存 Eureka 28天写作 悟空聊架构 12月日更

模块1作业

miliving

Flutter开发:TextField常用属性的使用

三掌柜

28天写作 12月日更

react源码解析17.context

buchila11

React React Hooks

使用javap深入理解Java整型常量和整型变量的区别

Jerry Wang

Java jdk 28天写作 12月日更 javap

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