欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  资讯频道

John Resig:让JavaScript性能达到极限

程序员文章站 2022-05-14 11:53:25
...
最近著名IT评论网站Ars Technica有了一位新的专栏作家:John Resig,他是jQuery作者和Mozilla JavaScript传道者,他在AT上第一篇文章就非常有质量:让JavaScript性能达到极限

他的文章着重于最近新发布的 Safari 强劲的JavaScript引擎:SquirrelFish Extreme

John Resig 写道
大量的js引擎初始效率优化包括优化现存的虚拟机字节码--尤其在javascript 函数调用。在SquirrelFish 虚拟机中,开发团队开始检查所有可以优化的区域,很多字节码现在被动态翻译成本地机器代码--现在只支持x86 32位架构--这种方式大大提升了效率。

在编译方面的修改,WebKit开发团队重写了正则表达式引擎,结果显著优化了表达式解析效率,速度快了5倍还多。常规的正则表达式在web页面上只小部分使用,但是在应用中影响却是至关重要。比如Processing.js和Objective-J这样的项目翻译了整个程序,用其他的语言编写,也能明显的提升效率。

常规的技术是收缩javascript引擎的实现来优化引擎,但是避免不了还要处理javascript代码,来确定使用对象的类型。但是javascript并没有包含明确的类型系统,javascript引擎引擎经常*一次次检查他们处理的数据值来保证正确性。SquirrelFish Extreme收集所有现代js引擎比如V8和TraceMonkey的优点,提供了多态内联缓存(polymorphic inline caching)。有趣的是,这个缓存方式的想法来自 自编译语言(Self programming language 允许对象继承,可以动态地改变他们的继承的状态),是很多javascript的原始想法之一(比如使用原型继承而不是更古典的类似Java的继承方式)。

JavaScript引擎是动态语言优化的最好场所,没有任何其他的语言能够达到JavaScript进步如此迅速的层次,这意味着javascript成为最广泛使用的编程语言成为可能。

SquirrelFish Extreme近期的发布在SunSpider的测试下成为最快的js引擎,将展开新一轮js引擎的良性竞争。


John Resig:让JavaScript性能达到极限

点击查看全文:http://arstechnica.com/journals/linux.ars/2008/10/07/extreme-javascript-performance