2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

CRM数据库表COM_TA_R3_ID的数据来源

汪子熙

中间件 CRM SAP abap

如何处理错误信息 Pricing procedure could not be determined

汪子熙

CRM SAP

实战|教你用Python玩转Mysql

Python研究者

Python MySQL MySQL 运维

Scrum Team不等于Development Team——《Scrum指南》重读有感(2)

Bruce Talk

Scrum 敏捷 随笔 Agile

千万级考试管理系统的考试试卷存储方案

白发青年

架构实战营

【Flutter 专题】123 图解简易 GroupList 二级分组列表

阿策小和尚

5月日更 Flutter 小菜 0 基础学习 Flutter Android 小菜鸟

为什么有的系统的事务码BSP_WD_CMPWB看不见Enhance Component这个按钮

汪子熙

CRM SAP abap

模块4作业

梦寐凯旋

架构实战营

架构训练营模块四作业

Geek_e0c25c

架构训练营

架构实战营模块四作业

薛定谔的指南针

架构实战营

面试问题 - 只用位操作在ABAP里实现a+b

汪子熙

面试 SAP abap

架构实战营 - 模块4- 作业

笑春风

SAP CRM 和 Cloud for Customer 的 Document flow API 介绍

汪子熙

CRM SAP abap C4C documentFlow

Flume知识点总结

大数据技术指南

flume 5月日更

如何快速的学习一门新的编程语言?

架构精进之路

学习 5月日更

谣言粉碎机 - 极短时间内发送两个Odata request,前一个会自动被cancel掉?

汪子熙

JavaScript SAP SAP UI5

同时开左右两个SAPGUI编辑器显示同一段ABAP代码

汪子熙

SAP abap SAPGUI

中间件事务码R3AC1里Block Size的含义

汪子熙

中间件 CRM SAP abap

模块4作业 千万级学生管理系统考试试卷存储方案

TH

架构实战营

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

张大彪

网络攻防学习笔记 Day23

穿过生命散发芬芳

5月日更 网络攻防

SAP CRM中间件里的CSA队列有什么用

汪子熙

中间件 消息中间件 CRM SAP

SAP S4CRM (SAP Customer Management for S/4HANA) 1.0 介绍

汪子熙

CRM SAP abap S/4HANA

HBase常见问题

数据社

大数据 HBase 5月日更

模块4 学习总结

TH

架构实战营

Flink的Time与Window

五分钟学大数据

大数据 5月日更

SAP ABAP的权限检查跟踪(Authorization trace)工具使用步骤介绍

汪子熙

SAP abap Authorization Authentication

第四次作业

Geek_9cf7b5

一种不通过UI给C4C自定义BO创建测试数据的方式

汪子熙

CRM SAP C4C Cloud for Customer

第四次作业 设计千万级学生管理系统的考试试卷存储方案

函数方程

模块 4 - 千万级学生管理系统的考试试卷存储方案

小遵

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