`
RednaxelaFX
  • 浏览: 3015316 次
  • 性别: Icon_minigender_1
  • 来自: 海外
社区版块
存档分类
最新评论

Webkit的SquirrelFish Extreme

阅读更多
Wow...that's all I can say when I first saw this new version of Webkit's JavaScript engine. Yet another amazing piece of work indeed.

近来不停有强悍的JavaScript引擎传出消息来,Webkit的SquirrelFish Extreme(简称SFX)是最新的一则。在三个月前公布的SquirrelFish的基础上,他们又做了许多重要的改进,使引擎的执行速度有了又一次飞跃。

官方blog的消息:Introducing SquirrelFish Extreme

Webkit Wiki: SquirrelFish

改进点主要是以下4点:
1. Bytecode Optimizations
2. Polymorphic Inline Cache
3. Context Threaded JIT
4. Regular Expression JIT

多态内联缓存的部分在概念上与早先发布的V8有十分相似的地方,都是基于对象的结果在程序执行过程中实际上变化不会很大的假设来做优化,但具体的实现方法不同。

正则表达式的改进也值得注意。我还是没弄清楚到底原本的JavaScriptCore有没有用PCRE(更新:确认了JavaScriptCore有用PCRE的变种,叫做JSCRE),但Tamarin是用PCRE,而V8也是用相关的JSCRE的,这部分大家原本或许都差不多。

现在SFX也有JIT了,也就是说我关注的JavaScript引擎都已经完成了从纯解释器到JIT的转换,并且还在不断改进。微软在最近的会议上也表示JavaScript将会是强劲的竞争对手,那么他们到底会怎么应对呢,真期待。IE8的JScript引擎在这些新引擎面前看来是完败了……

说起来,新一代的脚本语言的引擎都远比以前的快,也是多亏了脚本语言的潮流啊。大家现在用的许多优化技术都是基于以前的LISP或Smalltalk的变种已经在使用的技术,会让人感叹:syntax still matters。
分享到:
评论
2 楼 RednaxelaFX 2008-09-21  
lwwin 写道

有这么多新的JS了,不知道有没有办法可以自定选用哪一种

自定选用哪一种?你是说在浏览器里?
1 楼 lwwin 2008-09-21  
有这么多新的JS了,不知道有没有办法可以自定选用哪一种
FX大知道怎么做罢??

相关推荐

    Knowledge-Map:知识图

    名词引擎,编译器与作用域浏览器不同,其引擎也不同,例如Chrome采用的是v8,Safari采用的是SquirrelFish Extreme。编译器:编译过程主要分为“词法分析”,“语法分析”和“代码生成”。作用域(范围):根据名称...

    HTML5高级程序设计

    1.6.8 monkeys、squirrelfish和其他javascript引擎 19 1.7 小结 20 .第2章 canvas api 22 2.1 html5 canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24...

    完整版《HTML5高级程序设计》2

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24 2.1.5 ...

    完整版《HTML5高级程序设计》4

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24 2.1.5 ...

    完整版《HTML5高级程序设计》5

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24 2.1.5 ...

    完整版《HTML5高级程序设计》3

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24 2.1.5 ...

    HTML5高级程序设计.part5

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24 ...

    HTML5高级程序设计.part4

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24 ...

    HTML5高级程序设计.part1

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24 ...

    HTML5高级程序设计.part2

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24 ...

    HTML5高级程序设计.part3

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 20 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 24 ...

    HTML5程序设计(第2版).[荷]Peter Lubbers(带详细书签).pdf

    1.6.8 Monkeys、Squirrelfish和其他JavaScript引擎 19 1.7 小结 21 第2章 Canvas API 22 2.1 HTML5 Canvas概述 22 2.1.1 历史 22 2.1.2 canvas是什么 23 2.1.3 canvas坐标 23 2.1.4 什么情况下不用canvas 23 ...

Global site tag (gtag.js) - Google Analytics