Мне нужен встраиваемый язык для задач, подобных выполнению запросов в mongodb. Язык должен быть быстрым, и он должен иметь как JIT, так и интерпретатор (для частых сценариев, компилируемых JIT, а также для однократных сценариев), должен иметь среду выполнения в памяти, которую я заполняю определенными функциями API (или классами, что угодно) вручную (и ничего «встроенного», такого как gettime, порождение потока или подобное), он должен иметь C API и должен работать на ARM (MIPS также было бы неплохо), не слишком большой размер также был бы хорош (но это не критично).
У меня есть два кандидата:
- Гугл В8.
- Spidermonkey (на AFAIK было объявлено о поддержке IonMonkey ARM).
Раньше я не сталкивался со встраиванием языков в проекты C, поэтому у меня есть несколько вопросов: недавно ходили слухи, что V8 не является потокобезопасным, эта проблема все еще существует? Если да, то где это отсутствие потокобезопасности может вызвать проблемы?
Также я был бы рад, если бы кто-нибудь предложил встраиваемый язык, более подходящий для моих требований (кроме lua, я не могу найти никаких преимуществ по сравнению с js, кроме меньшего размера, на что мне все равно).