写点什么

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

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

关注

评论

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

模块四-考试试卷存储方案

悟空

存储 考试

那些高级前端是如何回答面试题的

loveX001

JavaScript

5个接口性能提升的通用技巧

JAVA旭阳

Java

架构实战营模块四作业

张Dave

外包学生管理系统架构设计

陈天境

2023-01-02:某天,小美在玩一款游戏,游戏开始时,有n台机器, 每台机器都有一个能量水平,分别为a1、a2、…、an, 小美每次操作可以选其中的一台机器,假设选的是第i台, 那小美可以将其变成

福大大架构师每日一题

算法 rust Solidity 福大大

令人头秃的js隐式转换面试题,你能做对吗

loveX001

JavaScript

网络堵塞?华为云CDN为你带来一站式解决方案

i生活i科技

CDN

华为云双十一、双十二系列直播圆满收官,助力企业获数智化发展商机

i生活i科技

CDN

国产 ETL 工具 etl-engine

weigeonlyyou

postgresql Prometheus Clickhouse MySQL 数据库 InfluxDB Cluster

勿以善小而不为,让AI成为温柔的力量

wood

AI 烟火气 温柔

假如面试官问你Babel的原理该怎么回答

loveX001

JavaScript

红海竞争下,华为云CDN凭借什么冲出重围?

i生活i科技

CDN

Thanos 升级顺序分析

耳东@Erdong

Prometheus 版本 Thanos 升级迭代

vivo 服务端监控体系建设实践

vivo互联网技术

云原生 监控 可用性 可观测

面试官:说说React-SSR的原理

beifeng1996

React

Java高手速成│实战:应用数据库和GUI开发产品销售管理软件(1)

TiAmo

JDBC GUI 数据库·

前端高频面试题集锦

loveX001

JavaScript

华为云大数据BI赋能企业数字化发展

i生活i科技

LinearLayout(线性布局)

芯动大师

Android Studio android布局 LinearLayout weight属性

架构训练营 模块五

张建闯

架构实战营

架构训练营 模块六

张建闯

架构实战营

常见的Web安全攻击

穿过生命散发芬芳

HTTP 1月月更

企业数字化转型?华为云CDN为你提供智能加速!

i生活i科技

CDN

《我有一个朋友》首集上线,曹操出行CEO讲述热爱经历

极客天地

朋友圈的架构设计

lory(侯保国)

osx安装mpd和ncmpcpp

macos

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