阅读更多

4顶
0踩

Web前端

原创新闻 John Resig:让JavaScript性能达到极限

2008-10-09 11:04 by 副主编 QQbyte 评论(2) 有14653人浏览
最近著名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引擎的良性竞争。




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

4
0
评论 共 2 条 请登录后发表评论
2 楼 jetmc 2009-05-25 14:18
[align=center][/align]
[flash=200,200][/flash]
1 楼 shxiao 2008-10-09 15:57
越快越好, 看来webOS还是有希望的

发表评论

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

相关推荐

  • delphi jpeg.pas

    如果您希望在delphi里用exe+bpl,你就会用到jpeg单元,而在D7中是没有源码的,资源中包含jpeg.pas,JConsts.pas及用到的obj文件

  • 在DELPHI中SQL存取JPEG方法 (转)

    D7自带的DBIMAGE只支持BMP文件,要实现JPG才行,不然数据库太大。 / /SQL存储JPEG方法(以D7自带的image控件进行存取,注意此时窗体上不要使用任何dbimage控件,不然总是报jpeg error #53这类的错。代码如下: procedure TForm1.Image1DblClick(Sender: TObject); //image1控件双击调入图像 var my

  • Delphi 图片jpg、gif格式转换成bmp格式 保存到数据库

    Delphi 图片jpg、gif格式转换成bmp格式 Delphi保存图片到数据库image字段

  • vc加载jpg图片的方法

    本文转自:http://www.cppblog.com/zhangyq/archive/2008/06/26/46816.html MFC提供的CWnd只有默认加载BMP文件的接口,对JPG等图像是不支持的,而实际中经常需要用到非BMP的图片,在VC中加载.JPG格式的图片,有两种方法,用流对象加载和用IPicture接口加载。 IPicture *m_picture; OLE_XSI

  • 用Delphi读取JPEG文件的缩览图

      JPEG图像文件以高压缩比和高图像质量著称,市面上的图库光盘中的图像文件大都是JPEG格式的。怎样从一大堆JPEG文件中查找合适的图像呢?使用JPEG文件的缩览图就是其中方法之一。   在PhotoShop 4.0(或以上版本)的打开文件对话框中,当打开JPEG文件时,PhotoShop很快把它的缩览图显示出来。为什么PhotoShop能这么快地显示出JPEG文件的缩览图呢?   原来Phot...

  • delphi操作jpg图片

    使用delphi加载清空jpg格式图片的代码

  • Delphi读取photoshop的jpeg的缩略图..rar

    Delphi读取photoshop的jpeg的缩略图..rar`

  • DELPHI存取JPEG、BMP图像到数据库完整解决方案

    DELPHI存取JPEG、BMP图像到数据库完整解决方案

  • delphi 中 image 控件加载bmp、JPG、GIF、PNG等图片的办法

    [delphi] view plain copy procedure TForm1.Button1Click(Sender: TObject);   var     jpg: TJPEGImage; // 要use Jpeg单元   begin     // 显示jpg大图片的方式     jpg := TJPEGImage.Create;     jpg

  • Delphi中加载图片,如何使加载的图片kb变小

    1.Delphi中给自己的程序加一个背景,用image控件。设置align属性为alClient,stretch为true,picture导入要加载的图片。2.当图片过大时,可以用p图软件改变大小,如美图秀秀。我的一张5M的图改成了200多kb,外观不会有什么改变。...

  • delphi 从流(jpeg流,png流)到Timage 的显示方法

    delphi 从流(jpeg流,png流)到Timage 的显示方法

  • C++ 生成JPEG图片源代码

    跨平台 生成JPG图片的源代码 有库文件 只需要自己编译就可以了

  • C++中保存为jpg文件的方法

    c++中,将像素矩阵直接写入jpg文件比较麻烦,从网上找到一个高手的方法,代码不多,推荐一下。 https://create.stephan-brumme.com/toojpeg/ 感谢造轮子的人。

  • delphi 图片jpg多张拼接到一张jpg

    【代码】delphi 图片jpg多张拼接到一张jpg。

  • Delphi中对Jpeg格式文件的处理

    (1).在Uses中加入JPEG单元; (2).定义一个全程变量,例如varAJPEG:TJPEGImage; (3).在Form的OnCreate事件中加入: Canvas.Pen.Color:=clBlack; Canvas.Pen.Style:=psSolid; Canvas.Bru...

  • delphi 数据库读取jpg文件流

    https://bbs.csdn.net/topics/392456279?page=1 image控件实现数据流形式保存图片时出现错误,提示JPEGERROR#53,已经写了usejpeg,请大神们帮忙看下是什么问题。 具体代码如下: procedureTfrm_cztz.Image1Click(Sender:TObject);//image1控件单击调入图像 var my...

Global site tag (gtag.js) - Google Analytics