阅读更多

16顶
0踩

互联网

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

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

 

自从 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定义的别名在语义上是等效的。

  • using的几种用法

    1.using指令。using + 命名空间名字,这样可以在程序中直接用命令空间中的类型,而不必指定类型的详细命名空间,类似于Java的import,这个功能也是最常用的,几乎每个cs的程序都会用到。例如:using System; 一般都会出现在*.cs中。 2.using别名。using + 别名 = 包括详细命名空间信息的具体的类型。这种做法有个好处就是当同一个cs引用了两个不同的命名空间...

  • 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...

  • 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...

  • 成功实现C++调用C#写的库(CLR),我的个人心得与总结

    一、先说说我的个人心得 我新建了C++ win32动态库工程,准备调用C#类库。 //使用CLR的方式,成功实现C++调用C#类库,注意事项: //1. //不要尝试在DllMain或映像初始化函数内运行托管代码,这样做会导致应用程序挂起。 //解决办法: //注释掉dllmain.cpp文件里的主函数BOOLAPIENTRYDllMain //2. //本人在实践工程中遇到两个难点: /......

  • tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl

    tornado-6.4.1-cp38-abi3-musllinux_1_2_i686.whl

  • tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl

    tornado-6.1-cp36-cp36m-manylinux2014_aarch64.whl

  • 基于java的ssm停车位短租系统程序答辩PPT.pptx

    基于java的ssm停车位短租系统程序答辩PPT.pptx

  • tornado-6.4b1-cp38-abi3-musllinux_1_1_x86_64.whl

    tornado-6.4b1-cp38-abi3-musllinux_1_1_x86_64.whl

  • 基于java的招生管理系统答辩PPT.pptx

    基于java的招生管理系统答辩PPT.pptx

Global site tag (gtag.js) - Google Analytics