Ubuntu Python JavaScript v8 spidermonkey
*maverick
Задача:
Нужно вычислять(evaluate) на python javascript код.
Решение:
Пользовать
code.google.com или
code.google.com или ...искать еще
на моей Ubuntu 10.10/maverick x64 собирал из исходников pyv8, взял за основу эту заметку:
troeger.eu с поправкой на x64 (scons arch=x64).
Безуспешно — pyv8 не собралось.
В итоге — взял отсюда уже собранное [Precompiled package for Debian x64 w/ Python 2.6 and Boost 1.41]
code.google.com , дабы удовлетворить зависисимость пришлось создать симлинк в /usr/lib:
ln -s libboost_python-py26.so.1.42.0 libboost_python.so.1.41.0
python-spidermonkey собралось без проблем, все сделал как описано в разделе Installation, кроме установки python-pyrex пакетом через apt.
Для интересу сравнил скорость вычисления выражения "1+2":
In [1]: from spidermonkey import Runtime
In [2]: rt = Runtime()
In [3]: cx = rt.new_context()
In [4]: cx.eval_script("1 + 2")
Out[4]: 3
In [5]: timeit cx.eval_script("1 + 2")
10000 loops, best of 3: 23.6 us per loop
In [6]: import PyV8
In [7]: ctxt = PyV8.JSContext()
n [8]: ctxt.enter()
In [9]: ctxt.eval("1 + 2")
Out[9]: 3
In [10]: timeit ctxt.eval("1 + 2")
100000 loops, best of 3: 22.2 us per loop