??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲人片在线观看天堂无码,亚洲欧洲国产精品香蕉网,亚洲精品人成网线在线播放vahttp://www.tkk7.com/charles/category/40578.html以JEEZ攻,以Flex为点~Q以Eclipse RCPZ?/description>zh-cnWed, 01 Jul 2009 12:40:33 GMTWed, 01 Jul 2009 12:40:33 GMT60What Tamarin really means ?(zz)http://www.tkk7.com/charles/archive/2009/07/01/285012.htmlsuprasoft Inc,.suprasoft Inc,.Wed, 01 Jul 2009 11:41:00 GMThttp://www.tkk7.com/charles/archive/2009/07/01/285012.htmlhttp://www.tkk7.com/charles/comments/285012.htmlhttp://www.tkk7.com/charles/archive/2009/07/01/285012.html#Feedback0http://www.tkk7.com/charles/comments/commentRss/285012.htmlhttp://www.tkk7.com/charles/services/trackbacks/285012.htmlAdobe 开?AVM2 source 加入 Tamarin 计画的新dl出来两天,在各大forum与blogs里都引v热烈讨论Q毕竟能?javascrīpt 跑的比现在快 10倍,实是g大事啊?

但很有趣的是虽然官方已提供了详细?FAQ 回答常见的问题,但仍然有许多误解存在Q也因此我特别针对这些问题请教了 Gordon Smith (from Adobe Flex team) 两h一?email 往q后Q大概已得出最佛_的答案,下面我试者将学到的资讯整理出来?

QActionscrīpt 3 ?Javascrīpt 2 的差?

AS3 ?JS2 都是依@ Ecmacript 4 规格所实作出来的语aQ它们的 core language 是完全一L?

Core language 包含: sealed classes, interfaces, namespaces, method closures, exceptions, strong typing, E4X {,所以像 Array, String, int {也都包含在内?

但在 core language 之上Q就会依它执行的环境不同Q而加上不同的 extension?

AS3: ?flash player 里执行,因此会加?flash所需?DOM (Document Object Model) 例如 Sprite, MovieClip, Socket{?

JS2: ?Browser 里执行,׃加上 Browser 相关?DOM, 例如 Document, Form{?

QTamarin 是什么?

Tamarin 是由 AVM2 延而来Q它只负责执?Ecmacript 4 core language 的部份?

因此 Mozilla Foundation 拿到 Tamarin engine 后,W一件要做的事就是在上面实作 Browser 相关?DOMQ例?Form 要怎么生成、Document 物g要如何存取?

Adobe 要做的事则是在上面实?Flash 相关?DOM, 例如 Sprite 要如何画出来QVideo 要怎么串流与播放?Audio 的蝲入与音量控制{?很显然的Q这部䆾工作已经做完Q不然你手上?flash player 9 是打那儿来的Q?

QAdobe ?Tamarin 往后的关系

如果日后QMozilla ?developer community 针对 Tamarin 做了某些最佛_Q例如有童出现?E4X 的执行效率提高了100?例如他写了一?routine/library 可以?xml ?processing time ~短为原本的1/100)Q这些改变一旦被加入 Tamarin ?codebaseQAdobe 也就可以׃n成果?

因此每当 Tamarin 有重大升U或改版ӞFlash Player 可能也跟者推出新版,因ؓ它内部的 core language scrīpt engine 也需要升U才能整?Tamarin 的改变?

Q这代表 Adobe 也将 Flash Player open source了吗Q?

不?

Flash Player = Tamarin + Flash-specific DOM

而这ơ开攑ևȝ只有核心?Tamarin engineQ因此跟 open source flash player 完全没关pR?

实际上做Z?universal platformQ最好也不要有太多的 branch/forkQ所以在可见的将来也不太可能见到官方做这件事?

Q将?Firefox 不再需?flash player 了吗Q?

不,从上面可知,Firefox + Tamarin 只是取得了一个快速的 Ecmascrīpt 4 core language engine, 但它q没有内?flash DOMQ所以用 Flash 开发的E式(swf)q是要乖乖在 flash player 里跑?

不然Qadobe q投入h力开?64bit ?linux playerQ难不成是做心酸的吗Q?

QTamarin 可以用在其它地方吗?

可以?

?Dreamweaver ZQ它有内?javascrīpt engineQ可以让user写一些巨集之cȝ指oQ自动化做某些事?

目前它是?javascrīpt 1.5 语法Q底层则是内Z SpiderMonkey engineQ然后在q之上,加入?Dreamweaver 独有?DOM, 例如 MenuCommand, EditorWindowQ让user可以?js1.5 L?Dreamweaver 的某些行为?

来QDreamweaver 可以选择改用 Tamarin 取代?SpiderMonkey 做ؓ内徏?scrīpt engine, q样user可以写 OO 式的 JS2 巨集?

q就是一个不同的应用实例Q而实际上 Fireworks, Flash, Acrobat {也都有q样的能力,知名?Red5 目前?Rhino 来也可以考虑改用 TamarinQ毕竟有?0倍速的免钱 scrīpt engineQ何乐不为呢Q?

QTamarin ?Flex developer 的媄?

q部份就很有,单来_影响都是正面的,只是要把旉N来看Q正面的效应大概要一Cq后才会出现Q但最多三q?2009)后就可以看出q步下的完全正,而且可能是决定性的一步?br>以上文字来自Q?a >http://ria.richtechmedia.com/



suprasoft Inc,. 2009-07-01 19:41 发表评论
]]>
记V8与SquirrleFish/Tamarin的对比点(zz)http://www.tkk7.com/charles/archive/2009/07/01/285011.htmlsuprasoft Inc,.suprasoft Inc,.Wed, 01 Jul 2009 11:38:00 GMThttp://www.tkk7.com/charles/archive/2009/07/01/285011.htmlhttp://www.tkk7.com/charles/comments/285011.htmlhttp://www.tkk7.com/charles/archive/2009/07/01/285011.html#Feedback0http://www.tkk7.com/charles/comments/commentRss/285011.htmlhttp://www.tkk7.com/charles/services/trackbacks/285011.html记V8与SquirrleFish/Tamarin的对比点

刚才q是忍不住到V8的官|读了些文档Q想看看到底它的技术特Ҏ什么?
V8官网Q?a >Google V8 JavaScript Engine
设计概念的文:Design Elements
有h初试V8的经q:http://d.hatena.ne.jp/amachang/20080903/1220405193
V8是BSD许可证的Q比较自由,方便用在各种目中?
它是一个相当快的JavaScript实现。根据其设计概念的文档,它的高性能主要来自Q?

  • 快速的属性访?
  • 动态机器码生成
  • 高效的垃圾收?/li>
其中前两点应该是紧密相关联的。在JavaScript引擎的实CQV8特别q别在“隐藏类”(hidden classQ的使用。Hidden class的概念可以到那篇文ȝQ解释得比较生动。简单来_对于某个对象Q每ơ属性的数量Q或cdQ这个得回头仔细研究下)发生改变Ӟ虚拟机就会新创徏一个对应的隐藏c,记录下其中各个属性的相对偏移量,q将原本的隐藏类与新的隐藏类之间建立一个关联。当再次有同一cd的对象创建时则不会重复创建隐藏类Q而能复用前面已经出现的隐藏类?
其它JavaScript引擎Q以及许多其它脚本语a的实玎ͼ一般用某UŞ式的兌容器来储存所有变量;通常叫字典,也会被称为映表或者关联数l,典型的实现方式是哈希表或者红黑树{。对象中的成员变量(下面称为“属性”)一般也是这样与某个对象兌在一L。访问某个对象的某个属性时需要动态查询这L兌容器Q是不可忽视的开销?
V8则不使用兌容器来储存属性,而是采用更接q于静态编译的cȝ形式Q将对象中每个属性的相对偏移量记下来Q在生成机器码时直接把偏U量写到指o中。这P讉K某个对象的某个属性就只需要很量的指令就能完成,比v兌容器的方式高效许多?
V8使用动态机器码生成Q先把要执行的JavaScript代码直接~译为机器码Q而不使用字节码也不通过解释的方式来执行。这样在执行一些被大量重读执行的代码时效果会特别好。与之相对,Apple Webkit的JavaScriptCore/SquirrelFish是先JavaScript~译到字节码Q然后以U解释的方式执行字节码;Mozilla/Adobe?a >Tamarin则是先将JavaScript~译到字节码Q然后以x~译QJITQ的方式执行。SquirrelFish与Tamarin的字节码设计思\又不一P前者是Z寄存器的Q而后者是Z栈的。一般认为基于寄存器形式的字节码比较快,而基于栈形式的字节码比较,M也是各有特点?
与“隐藏类”相关的是,V8会预先猜某D代码中的对象对应的隐藏c,如果命中的话p直接用已l生成到机器码里的偏U量Q如果没有命中,则用实际的隐藏cM的信息来修改已生成的机器码。这P如果多次执行中对象的“实际类型”都与猜一P执行速度可以非常的快?
Mozilla的新JavaScript执行引擎QTraceMonkey则通过别的方式来提高执行速度。通过记录代码执行的\径,当发现某条执行\径回C某个早先l过的节点,发C一个“trace”;然后对trace花时间做重点优化Q编译ؓ高效的机器码。与HotSpot JVM不同的是Qtrace不是以函敎ͼ或者说ҎQؓ单位的,可以在更的范围内做_的优化,减少不必要的优化开销?
在垃圾收集器斚wQV8采用的是一个两代的分代式准垃圾收集器。相对的QJavaScriptCore的GCl承自KJSQ没记错的话是一个没有分代的准确M&S式(mark-and-sweepQ垃圾收集器QTamarin使用的则是Adobe提供?a >MMgcQ主要算法是“gq的引用计数”(DRCQDeffered Reference CountingQ,外加增量式保守M&S的垃圾收集器。这三种实现方式各有特点Q实际效果要比较h恐怕比较难。准式的垃圾收集器必须知道堆的位置和布局Q所以难以做成通用的;保守式收集器则可以做得很通用Q著名的Boehm GC是个典型的例子。但保守式收集器有潜在的内存泄漏的危险,因ؓ可能会把q不是对象指针的数据识别为指针,使本来应该已l可以释攄I间无法被释放?
===========================================================================
V8中用了下列W三方库Q?

引用

  - Jscre, located under third_party/jscre.  This code is copyrighted
    by the University of Cambridge and Apple Inc. and released under a
    2-clause BSD license.
  - Dtoa, located under third_party/dtoa.  This code is copyrighted by
    David M. Gay and released under an MIT license.
  - Strongtalk assembler, the basis of the files assembler-arm-inl.h,
    assembler-arm.cc, assembler-arm.h, assembler-ia32-inl.h,
    assembler-ia32.cc, assembler-ia32.h, assembler.cc and assembler.h.
    This code is copyrighted by Sun Microsystems Inc. and released
    under a 3-clause BSD license.

Jscre我没怎么听说q,不知道跟PCREQPerl Compatible Regular ExpressionsQ的关系是怎样的。在Jscre源码的目录里看到?pcre"的字P不过详细情况q是以后再看看好了。Apple Webkit里的JavaScriptCore应该是直接用了PCRE的吧Q还是说我看漏了…?
===========================================================================
今天Mozilla斚w也没忘记对Chrome/V8的发布作出反应。Brendan EichQJavaScript的创始者,在其blog上发表了一相兌论:
Brendan Eich: TraceMonkey Update

Brendan Eich 写道

Q向叛_的是TraceMonkey比较快,向左多的是V8比较快)
可以看到在Brendan做的SunSpider试中,TraceMonkey在递归密集的程序中速度会比V8慢许多,而在正则表达式等斚w则比V8快。据BrendanUͼTraceMonkey的开发时间还不长Q递归斚w的traceq没多少q度Q所以在q部分是比较慢的。但下一步将会解册个问题?

suprasoft Inc,. 2009-07-01 19:38 发表评论
]]>
վ֩ģ壺 Ļĸ| ˴ֳսŮ2021ƷƵ | 67194츾ѹۿ| þþƷƷް| ޾Ʒר91| ѿڿŮ| þҹƵ| þþAVҰ| һ߹ۿ| ߳Ƶ| Ӱ| þþþþþѿ| 츾һ| aëƬѹۿ| þ˾þۺ| պ߹ۿƵ| һAV | ޹ƷۺϾþ2007| ձƬѹۿһ| Avһ| պƷƵ߹ۿ| רëƬ߳ˮ| ߹ۿƷ| žžþùƷ6| 99ƷƵ߹ۿƬһһ | ޹˰av߲| ɫվwww| 㽶Ʒ鶹| avԴվavַ| Ů18ؼһëƬƵ| 1134Ʒ| þþƷվѹۿ | ձ߹ۿѸ| AVպAV̾| һɫݳѾƷվ | Ѹ| Ļ뱬AV| ݺݺݰƵ| Ʒާѡ벥| ѿƵվ| Ůڵ |