首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript Rhino + JQuery简单脚本性能问题

Javascript Rhino + JQuery简单脚本性能问题
EN

Stack Overflow用户
提问于 2011-08-14 20:14:22
回答 1查看 740关注 0票数 0

我想问今天是否有可能在Rhino的独立模式下运行javascript具有良好的性能。

我在运行Rhino,EnvJS + JQuery脚本时遇到了性能问题。

下面是脚本:

代码语言:javascript
复制
load('tools/envjs/env.rhino.js')
window.location = "test.html"
load('tools/jquery.js')

// add TOC div
$('body').append('<div id="toc"></div>');

// Build TOC
$("h1, h2, h3").each(function(i) {
    var current = $(this);
    current.attr("id", "title" + i);

    var pos = current.position().top / $("#content").height() * $(window).height();
    $("#toc").append("<a id='link" + i + "' href='#title" + i +
    "' title='" + current.attr("tagName") + "'>" +
    current.html() + "</a>");

    $("#link" + i).css("top", pos);
});    
Envjs.writeToFile(document.documentElement.outerHTML, Envjs.uri('test-toc.html'))

这是我在网络上找到的为输入html文档构建目录的脚本的一个稍微修改过的版本。

我在3.06 run处理器上使用以下命令在命令行上运行它:

代码语言:javascript
复制
$ time java -jar tools/js.jar -opt -1 tools/make-toc.js 
[  Envjs/1.6 (Rhino; U; Mac OS X x86_64 10.7; en-US; rv:1.7.0.rc2) Resig/20070309 PilotFish/1.2.13  ]

real    0m16.554s
user    0m34.131s
sys 0m1.288s

它需要16秒来完成相当多的处理。我还发现最慢的部分是构建TOC -它花费了大约10秒的大部分时间。

只是添加输入文件或多或少较小文档23千字节大小。

我想知道为什么要跑这么长时间。我希望它在不到一秒的时间内完成。

问:这里性能损失的来源是什么?我可以想象的选项: 1) Rhino 2) EnvJs 3) JQuery 4)我的脚本

任何关于其他执行环境的建议都将不胜感激。但需要注意的是,它需要集成到跨平台的开发周期中。

EN

回答 1

Stack Overflow用户

发布于 2011-08-23 14:59:31

只是猜测(不适用于EnvJs和控制台rhino -仅嵌入式)

“解释”模式可能会导致速度的极大损失。(在我的应用中是context.setOptimizationLevel(-1) )

我不得不使用它,因为jQuery main方法超过64K Java方法大小限制。

rhino也有“编译”模式--速度更快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7056736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档