阅读更多

16顶
0踩

互联网

转载新闻 Firefox 最新 JavaScript 引擎初探

2010-03-01 10:50 by 副主编 just_cool 评论(11) 有5225人浏览

 

自从 Google 推出含 V8 JavaScript 引擎的 Chrome 以来,公众对 JavaScript 引擎执行效率的胃口又一次被提高,众多浏览器的开发者们绞尽脑汁提升他们的 JavaScript 性能,Opera 最新的10.50 版的 Carakan 引擎据称已经超过 V8,而 Firefox 的开发者们也不甘示弱。


最近升级到 Firefox 3.6 的用户已经发现他们的 JavaScript 速度有了非常明显的改善,虽然Firefox 的 TraceMonkey 引擎和 Googel V8 比仍有差距,不过,这个状况即将改变,Mozilla 团队正在开发一个新的 JavaScript 引擎,JägerMonkey,期待将 Firefox 的 JavaScript 性能提升到一个新的水平。

 

当前,Firefox TraceMonkey 引擎之所以性能不佳的一个原因是,它的追踪(trace)算法仍存在问题,Trace 是一种可以将 JavaScript 中的循环语句进行快速编译执行的算法,但这个算法在遇到复杂的,嵌套的,尤其是递归的循环语句时,并不能正确执行(详见这篇文章),Firefox 因此会退回解释执行方式,而解释执行的效率是很低的。

 

Mozilla 团队正在解决这一问题,新的 JägerMonkey 引擎在测试中已经显露出非常积极的结果,最终的性能提高可能高达 30% ~ 40%。Mozilla 的 Dave Mandelin 对此表示乐观,他说,JägerMonkey 在执行执行全部 SunSpider 脚本的时候,Jäger 模式比解释模式快了18%,这还不算其它方面的优化与改进,他们在新引擎中所作的改进包括很多方面。

 

如果你对此感兴趣,Mandelin 的博客文章 很值得一读。简单说,起用了 JägerMonkey 引擎的 Firefox 将更加引人注目。关于 Firefox 的最新版本的相关文件,你可以到这个地址获取:http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/

 

本文来源:http://www.downloadsquad.com/2010/02/27/early-work-on-mozilla-firefox-new-javascript-engine-nets-big-speed-gai/
中文翻译来源:锐商企业CMS 网站内容管理系统 官方站

 

来自: comsharp
16
0
评论 共 11 条 请登录后发表评论
11 楼 kukuwuwu 2010-03-02 14:46
dehuai 写道
lkj107 写道
啥时候IE6才能推出中国舞台啊
啥时候那帮有钱人才更新他的浏览器啊

啥时候中国人公共意识才会提高阿

最低也得需要盗版xp退出历史舞台,期待盗版windows 7 吧
10 楼 dehuai 2010-03-02 14:32
lkj107 写道
啥时候IE6才能推出中国舞台啊
啥时候那帮有钱人才更新他的浏览器啊

啥时候中国人公共意识才会提高阿
9 楼 lenky0401 2010-03-02 13:31

帅得一塌糊涂
8 楼 yidao620c 2010-03-02 11:42
FF加油。竞争的直接后果就是速度都得翻倍。
7 楼 shinezhou 2010-03-02 09:40
牛b


6 楼 yidao620c 2010-03-02 09:16
看来一切的一切,算法还是王道。
5 楼 geminiyellow 2010-03-01 17:35
我喜欢这种感性的文章。老贴数据一点激情都没有。
用IE6关你啥事,就不更新~乖乖写好你程序,别抱怨。
4 楼 rongzhi_li 2010-03-01 15:52
有竞争才有动力
3 楼 lkj107 2010-03-01 15:47
啥时候IE6才能推出中国舞台啊
啥时候那帮有钱人才更新他的浏览器啊
2 楼 liu78778 2010-03-01 13:55
太帅了...
1 楼 骨之灵魂 2010-03-01 12:43
加油!我支持你

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • C#中using的三种用法

    using 指令有两个用途: 允许在命名空间中使用类型,以便您不必限定在该命名空间中使用的类型。 为命名空间创建别名。 using 关键字还用来创建 using 语句  定义一个范围,将在此范围之外释放一个或多个对象。 请参见 using 语句。http://www.yaosansi.com/blog/article.asp?id=669 using namespace; using alias = type|namespace;  参数 Alias  您希望用来表示命名空间或类型的用户定义符号。然后,您就可以使用 alias 来表示命名空间名称。 Type  您想通过 alias 表示的类型

  • C++ 关键字 :using

    在 C/C++ 中,定义类型别名的方法有#define、typedefusing 多种方式。#define 是宏定义关键字,用途广法,尤其是 C 中,不局限于类型别名定义。在C++中,推荐使用using来定义类型别名,因为它更符合C++的现代编程风格。似乎三者没有明显区别,当然由于#define 宏定义的本质,和后两者是可以明显区分开的。那么,typedef 和using的区别在哪里呢?首先,使用typedef定义的别名和使用using定义的别名在语义上是等效的。

  • C#程序调用非托管C++ DLL文件的方法

      08年写的一篇文章,当时项目用C#开发,但是有一些希望重用之前的C++代码,于是研究了如何在C#中调用C++的DLL。 C++中的函数声明 extern "C" __declspec(dllexport) int __stdcall testfunc(char* astr,int* a); extern ”C”   通常来说,C++编译器可能会改变函数和变量...

  • [C++/CLI] 析构函数等于IDisposable::Dispose()方法

    在以前的一篇帖子里我曾提到在C++/CLI中,会自动调用Dispose()方法。但那个时候只是从msdn上的文章中知道这样一个特性,还没有编译器的支持,所以一切也只能是纸上谈兵,很多细节都很不明朗。VC会以什么样的方式来提供这一特性,一直是我常思考的问题。然而甚至到VS.net 2005 beta1发布时,这一特性还没有得到支持。好在,在最新的Visual C++ 2005 Tool Refres...

  • JavaScript模板引擎初探 - HandleBars

    Handlebars是一个Javascript模板引擎,能让你轻松高效的编写语义化模板,能将Web前端的视图和数据分离,降低两者之间耦合。

  • Firefox(火狐)浏览器扩展开发初探

    ,构建自己的firefox开发环境,好处是你可以随便在这个开发环境中折腾,出现问题也不会影响你正常firefox的使用,当然使用这场模式也没问题。这一步主要做的事情有   第一步 ,firefox启动时,添加-no-remote -P ...

  • javascript之BOM初探

    浏览器对象模型(BOM)使Javascript有能力与浏览器“对话”。 2.Window对象 所有浏览器都支持 window 对象。它表示浏览器窗口。 所有 JavaScript 全局对象、函数以及变量均自动成为 window 对象的成员。 全局...

  • javascript初探(五)------ BOM

    if (/firefox/i.test(ua)) { alert("火狐浏览器"); } else if (/chrome/i.test(ua)) { alert("chrome浏览器"); } else if (/msie/i.test(ua)) { alert("IE浏览器"); } else if ("ActiveXObject" in window) { alert...

  • c++仿C# event

    [原创]用C++模拟C#的event机制document.title="[原创]用C++模拟C#的event机制 - "+document.title 本文章为farproc.com站长袁晓辉(海洋)的原创文章,作者保留所有权利。如果转载,请务必注明来自www.farproc.com!! 作为一个C++程序员,学习C#应该不是一件很困难的事情,因为C#的许多特性都是从C++“继承”(不精确

  • C#下System::String转换成C++下string

    最近开发的C++项目中需要调用外部C#写的DLL驱动,网上有许多教程,可参考我前面转载的一篇blog。程序调用成功后需要进行数据的转换,通过查找MSDN文档找到可调用Marshal类来实现。附列,// convert_system_string.cpp // compile with: /clr #include <string> #include <iostream...

  • TransactionScope事务简介

    在.NET 1.0/1.1 版本我们使用SqlTransaction.处理事务 string connString = ConfigurationManager.ConnectionStrings["db"].ConnectionString; using (var conn = new SqlConnection(connString)) { conn.Open(); usi...

  • c#中using-添加引用-程序集(详解) 以及与 c++中include等区别

    一、c#中Using无非就三个作用,引入名字空间,减少代码输入量;给名字空间或类型定义一个别名;try-catch的一种替代。 二、c#中添加引用的作用是把其它程序集包含到本项目中,就好像在本项目中写的类一样,因为只有在一个项目中写的类才能互相识别。c#中一个项目中写的两个类是无条件相互识别的,比如在项目中写了Class1和Class2,当然这两个类的名字空间一样。在Class2的方法中可以直接

  • C# 中 using 的三种使用方法

    引入命名空间 using System; using System.Data; 使用别名 using sql = System.Data.SqlClient; namespace test { public class test2 { public test2() { sql.SqlCon...

  • 初探JavaScript魅力-笔记

    初探JavaScript魅力-01初探JavaScript魅力-01JavaScript是一门用于给网页添加功能、交互的脚本语言。 无标题文档 #div1{ width:200px; height: 100p

  • JavaScript初探系列之Ajax应用

    Ajax是(Asynchronous JavaScript And XML)是异步的JavaScript和xml。也就是异步请求更新技术。Ajax是一种对现有技术的一种新的应用,不是一门新语言。它是用JavaScript编写。与xml的关系就是可以读取和返回xml文件...

  • Firebug+Firefox 调试方法初探

    最近项目第一阶段告一段落,用aptana+firefox开发了完了一套完整的js组件,便于后期结合ajax开发。 但是现在如何在eclipse的环境下搭建一个js的调试环境呢? 将aptana的调试功能结合到eclipse里面基本上不可能,...

  • 初探新的 JavaScript 并行特性

    初探新的 JavaScript 并行特性 http://www.spotty.com.cn/archives/48/ 本文转载自:众成翻译 译者:numbbbbb 链接:http://www.zcfy.cc/article/274 原文:https://hacks.mozilla.org/2016/05/a-

  • javaScript笔记总结(未完结)

    javaScript成哥笔记总结

Global site tag (gtag.js) - Google Analytics