`
RednaxelaFX
  • 浏览: 3049370 次
  • 性别: 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。编译器:编译过程主要分为“词法分析”,“语法分析”和“代码生成”。作用域(范围):根据名称...

    多浏览器的单元测试工具 多浏览器集成的JavaScript单元测试工县 共28页.pdf

    4. **WebKit** - Chrome和Safari的内核,Safari使用JavaScriptCore(SquirrelFish Extreme)。 5. **Presto** - Opera的内核,但现在已经不再更新。 **测试目标** JavaScript单元测试主要关注以下两个方面: 1. *...

    android 源码结构

    8. **external**:集成的开源软件组件,如Webkit、SquirrelFish等。 9. **frameworks**:核心框架的代码,包括Java和C++两部分,提供了应用程序运行所需的基本服务和API。 10. **hardware**:硬件抽象层(HAL),...

    Android SDK1.5新视角 (介绍AndroidSDK1.5新特性)

    内置的Chromelite浏览器在Android 1.5中采用了最新的Webkit引擎和Squirrelfish JavaScript引擎,网页加载速度更快,浏览体验更佳。此外,还新增了网页内容复制、页内搜索功能,以及对网页默认编码的自定义设置。这些...

    在JavaScript中,为什么要尽可能使用局部变量?

    这种性能差异在旧版浏览器如Internet Explorer中尤为明显,而在使用了优化后的JavaScript引擎(如Google Chrome中的V8引擎和WebKit中的SquirrelFish引擎)的现代浏览器中,这种差异则有所减少。 这些测试证明,局部...

    javascript 用局部变量来代替全局变量第1/2页

    然而,随着Google Chrome和WebKit午夜版等新浏览器的出现,采用优化后的JavaScript引擎(如V8和SquirrelFish)之后,访问变量时即使作用域链深度增加,性能也不会明显下降。这些优化包括改进标识符解析过程,从而...

    JavaScript语言教程:JavaScript简单介绍

    - **其他引擎**:包括IE中的“Trident”、“Chakra”,Microsoft Edge中的“ChakraCore”,Safari中的“Nitro”和“SquirrelFish”等。 #### 四、JavaScript引擎的工作原理 1. **解析**:JavaScript引擎读取...

    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