Javascript Rhino + JQuery简单脚本性能问题
Javascript Rhino + JQuery simple script performance issue
想问一下今天是否有可能在Rhino的独立模式下运行javascript。
我有一个性能问题运行Rhino, EnvJS + JQuery脚本。
脚本如下:
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文档的TOC。
我在3.06Ghz处理器的命令行上运行它,使用以下命令:
$ 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秒才能完成相当多的处理。我还发现最慢的部分是Build TOC -它需要大约10秒的时间。
刚才添加的输入文件或多或少是小文档23千字节大小。
我想知道为什么跑这么长时间。我希望它能在一秒钟内完成。
问题:这里性能损失的来源是什么?我能想到的选项有:1)犀牛2) EnvJs3) JQuery4) My Script
任何其他执行环境的建议将是非常感激的。但需要注意的是,它需要集成到跨平台的开发周期中。
猜猜看(不支持EnvJs和console rhino -仅嵌入)
"解释"模式会造成很大的速度损失。(它是context.setOptimizationLevel(-1)在我的应用程序)
我不得不使用它作为jQuery的主方法超过了64K Java方法的大小限制。
rhino也有"编译"模式,这样更快。
相关文章:
- <脚本类型=“;模块“>负载性能
- 性能:动态脚本注入与服务器渲染脚本
- Ajax发布到PHP脚本,每5秒查询一次MySQL数据库的性能/问题
- 不要为机器人(谷歌和其他)加载JS脚本以获得更好的性能
- 如何优化 jquery 脚本以提高性能
- 压缩脚本和样式,并将所有js和样式引用合并为单个引用,以优化网站性能
- Javascript性能 - 如何提高小脚本的性能
- 无论如何,优化此视差脚本以获得更好的性能
- 谷歌脚本性能下降
- 性能方面:拥有许多小型 ajax php 控制器脚本还是一个大型脚本更好
- Javascript性能-使用$.getScript()添加脚本
- 获取跨域脚本标记的HTML5性能对象
- javascript(jquery)脚本的性能是同步的还是异步的
- 我的 JavaScript 画布地图脚本和性能不佳
- 如何提高搜索脚本的性能
- Jquery数据表fnfilter +脚本性能
- Javascript Rhino + JQuery简单脚本性能问题
- 脚本性能-脚本使浏览器崩溃
- 选项卡失去焦点时的用户脚本性能
- 增强php脚本性能