English 中文(简体)
Java制发动机
原标题:Javascript Engines Advantages

我现在混淆了 Java本发动机。 我知道。 V8 是一件大事,因为它将 Java本编纂成本地法典。

然后,我开始阅读Mozilla Spider Monkey,根据我的理解,这些内容载于C,可以汇编Javales。 因此,这如何不同于第8类,如果是,为什么不这样做?

最后,。 字面上是编纂 Java和 Java的成文法,以便你获得 Java的所有快速优势? 如果不是的话,为什么人们在桌面上书写文字时不使用五8条?

问题回答

Java执行大本有各种办法,即便是采用联合技术。 V8和Nitro(前称“SquirrelFish extreme”)选择采用全方位的方法,即,在拿着文字时,将所有 Java本按本地指示汇编成册,然后简单地加以执行,如汇编成C码。 Spider Monkey则使用“tracing” JIT,后者首先将文字编成代典并加以解释,但监测执行情况,寻找“热点”如 lo。 之后,它仅仅将这一热途径汇编成机器编码,并在今后执行。

这两种方法都存在偏差和不利之处。 全方位方法联合技术确保,所有已执行的 Java都将作为机器编码加以汇编和操作,而不是作解释,一般而言,这些文字应当更快。 然而,视执行情况而定,这可能意味着发动机花费时间汇编永远不会执行或只能执行一次的代码,而且并非业绩关键。 此外,该汇编的法典必须保存在记忆中,这样可以导致记忆的使用增加。

在Spid Monkey实施的追踪联合投资公司可产生与整个方法联合投资公司相比极为专业化的代码,因为它已经实施了该代码,并且能够预测各种变量(例如将循环指数变量作为本土的惯性处理)的类型(如果假设失败,全方位联合投资公司将不得不将变数作为物体处理,因为 Java没有型,且其类型可能发生变化(如果假设失败,则Sder Monkey将完全“偏离”的痕迹”,并回到对附则)。 然而,Spider Monkey的跟踪JIT目前无法与许多分支机构一道有效地制定法典,因为追踪被优化用于单一执行途径。 此外,在决定汇编追踪资料之前,有些间接费用涉及监测执行情况,然后将执行转向追踪。 而且,如果追踪器作出后来被违反的假设(如变异的类型),则偏离追踪和转向解释的成本可能比采用全方位的JIT高。

如果你想看到各种内部浏览器 Java印发动机如何打上,安装Safat 4(即现在也用Windows!), Chrome V8, 3.5,和IE 8(如果你在窗户上),并运行基准:

我认为,正如上文提到的,新的第3.5代号使用“追踪”技术,后者也利用某种形式的联合技术汇编成飞行守则。 因此,应当比较一下第8号协议。 至少比V8低10x,3 Spider Monkey(没有JIT)

在Win XP的3.5.3中,聋.人4.0.3的速率是2.5x。 IE8比以前要慢得多。 我当时没有安装 Chrome。

Don t 了解Rhino编纂成java的附则。 如果它仍然解释Javascript的动态特征,例如能够添加属性,以备在时间上提出反对(例如 Java文允许的Attribute=“huvalue”。 我不敢肯定,它完全是按条形编码的,而且你可能无法取得比你每当 Java印行时从 Java印源法文本中汇编出来的更好的业绩。 认为Javascript允许像Eval(“x=10;y=20;z=x*y”)等非常活跃的辛迪加;这意味着你可以建立在运行时编纂的法典。 因此,我认为Rhino会作混合解释/编造,即使你确实编纂到了国际交易日志的编码。

计算机辅助设备仍然是翻译,尽管在信息技术支助下是一个非常好的翻译。 因此,我想Rhino-on-JVM是2个口译层(口译-口译)或口译分层。 虽然你的其他 Java字引擎大部分是在C书写的,因此应该像口译员那样做。 与C或C++相比,每个口译层能够增加5-10x的性能降解(例如,参看Perl或Adhur或Rub),但与JIT相比,按2-4x的顺序,测得的性能下降幅度要小得多。 而联合后勤公司则拥有最强力和最完善的引擎之一;成熟的JIT发动机也从未有过。

因此,你的微笑肯定会有所不同,如果你想要真正回答你打算如何在自己的硬件和设施上应用的话,你或许会受益于做一些严肃的基准。

Rhino可能不会太慢,因为我知道许多民间使用它。 我认为,它的主要吸引力不是它的速率,而是很容易渗透到 Java图书馆的密码/轻重/嵌入/口译,这使得它能够完善你的软件项目的描述/配置/推广。 一些文本编辑,如超电子编辑,甚至将 Java印作为替代宏观描述发动机。 每一位方案家似乎都能够很容易地穿过javascript,因此也很容易去掉。

Rhino的一个好处是,它几乎在联合选举机制运作的任何地点运作。 在我的经验中,试图获得独立的追踪仪基或Spider Monkey,以建造和安放;从指挥线上运行,在Windows等系统中可能是一种痛苦。 在你自己的申请中加入,可能更耗时。 但是,如果用一种可移植语言的话,就值得一提一个大型项目,而如果是你重新寻找的话,就必须“自行制定”小型描述解决办法。

如果是 Java和 r,你只是写你的 j,从指挥线上操作,那么与Rhino的文字就非常容易。 我用这个时间完成简单的任务。





相关问题
selected text in iframe

How to get a selected text inside a iframe. I my page i m having a iframe which is editable true. So how can i get the selected text in that iframe.

How to fire event handlers on the link using javascript

I would like to click a link in my page using javascript. I would like to Fire event handlers on the link without navigating. How can this be done? This has to work both in firefox and Internet ...

How to Add script codes before the </body> tag ASP.NET

Heres the problem, In Masterpage, the google analytics code were pasted before the end of body tag. In ASPX page, I need to generate a script (google addItem tracker) using codebehind ClientScript ...

Clipboard access using Javascript - sans Flash?

Is there a reliable way to access the client machine s clipboard using Javascript? I continue to run into permissions issues when attempting to do this. How does Google Docs do this? Do they use ...

javascript debugging question

I have a large javascript which I didn t write but I need to use it and I m slowely going trough it trying to figure out what does it do and how, I m using alert to print out what it does but now I ...

Parsing date like twitter

I ve made a little forum and I want parse the date on newest posts like twitter, you know "posted 40 minutes ago ","posted 1 hour ago"... What s the best way ? Thanx.

热门标签