Я пытаюсь улучшить производительность оценщика фрагментов javascript. Эти фрагменты script могут ссылаться на любое количество переменных, которые существуют в строковой карте json-подобных графиков объектов (IE: Json AST). Я использую JDK 1.6 и встроенный движок Rhinocript (v1.6R2).
В настоящее время обработка принимает форму:
Я пытаюсь выяснить, как пропустить этап сериализации json и создать прямые родственные объекты Rhinocript для размещения в 'bindings' для script. Тогда требуемые шаги:
Знаете ли вы, где я могу найти документацию или примеры того, как создавать экземпляры собственных rhinocript?
Мой учебный проект scala может быть полезен, если вы хотите возиться. И любой ответ, который я придумал, должен появиться там тоже...
http://subversion.assembla.com/svn/freshcode_public/learn_scala/datastore/src/test/scala/pkg/script
Спасибо заранее.
Итак, после многократной игры я придумал адекватное решение, хотя это не привело к увеличению производительности, на которое я надеялся (всего на 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"))