我正在尝试提高 javascript代码段评估程序的性能。这些脚本片段可以引用存在于类似json的对象图(IE:Json AST)的字符串键控映射中的任意数量的变量。我正在使用JDK 1.6和嵌入式Rhinoscript引擎(v1.6R2)。
目前,处理采用以下形式:
我正在试图弄清楚如何跳过json序列化阶段并创建直接的Rhinoscript本机对象以放置在脚本的“绑定”中。然后,所需的步骤是:
您知道吗我在哪里可以找到如何实例化原生rhinoscript对象的文档或示例?
如果你想修补我的scala学习项目可能会有所帮助。我提出的任何答案也应该出现在那里......
http://subversion.assembla.com/svn/freshcode_public/learn_scala/datastore/src/test/scala/pkg/script
提前致谢。
答案 0 :(得分:2)
所以经过多次摆弄之后,我提出了一个足够的解决方案,虽然它没有产生我所希望的性能提升(仅提高10%)。
该解决方案特定于Scala / Lift / Json,并包含在ScriptingUtil.scala文件中。
总结:
java.lang.RuntimeException: No Context associated with current Thread
)Scriptable
类型的'范围'对象。我提出的解决方案并不漂亮,但它确实有效。创建NativeArray:
val na = new NativeArray(arr)
na.setPrototype(ScriptableObject.getClassPrototype(scope, "Array"))