BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

分析JavaScript的性能

| 作者 Scott Delap 关注 0 他的粉丝 ,译者 张凯峰 关注 1 他的粉丝 发布于 2007年9月4日. 估计阅读时间: 2 分钟 | GMTC大前端的下一站,PWA、Web框架、Node等最新最热的大前端话题邀你一起共同探讨。

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

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT