Хотя, казалось бы, клёвый джаваскриптовый движок, идеологически предшествующий Node.js (идея одна и та же: выковырять движок из браузера, наделить целым рядом автономных модулей — только для JSDB выдрали JS-движок из Файерфокса, а для Node.js из Chrome) и притом во многом его на Windows превосходящий. Прежде всего, JSDB превосходит Node.js на Windows по количеству готового работающего кода (что и не удивит, если припомнить, что история Node.js на Windows вне Cygwin насчитывает едва пару месяцев).
Вот пример такого превосходства: на JSDB работать с SQLite под Windows можно невозбранно, а чтобы добиться того же эффекта на Node.js, придётся дождаться окончания портирования node-sqlite3 на Windows; а меж тем это портирование ещё только на днях пришло к форме, предполагающей самостоятельную сборку пользователем из исходного кода; будет ли вообще когда-либо предлагаться решение в формате «просто скачайте и распакуйте» — Бог весть.
Единственный недостаток JSDB — не обладает той скоростью и той же асинхронностью, что у Node.js…
Между тем, при всех достоинствах, нет у JSDB на Хабрахабре ни десятков любителей, ни сообщества, ни блога отдельного.
Вот тут отличная статья об идее вложенной в node.js.
Плохо что мало кто понимает что это не просто интерпретатор JS выдраный из браузера с набором модулей
И продолжая тему JS-движков, хочу спросить, почему не попробовали Rhino? Это порт SpiderMonkey на JVM, который с определенной версии включили в официальную поставку Java. Rhino имплементит стандарт EcmaScript 3, а также некоторые расширения от Mozilla, в первую очередь E4X — XML литералы в JS. Из-за этого Rhino иногда отдают предпочтение, если работать с XML придется много. Вторым немаловажным преимуществом перед Node JS является сборщик мусора из Java, который отличается гораздо большей предсказуемостью. Особенно это важно для процессов на сервере, когда latency оказывается важнее простой скорости.
Rhino используется в Yahoo, где на нем работают сервисы YQL и YAP. Выбрали его как раз из-за предсказуемого GC и поддержки XML.
При бенчмаркинге Rhino нужно учитывать особенности Java — медленный стартап и «прогрев». Рекомендуется запустить бенчмарк минут на 10, и только после этого собирать показания. Ну и да, тюнинг JVM — дело тонкое, и не факт, что нет какой-то комбинации настроек, которая смогла бы повысить производительность системы.
По идее Rhino должен уступать Node JS из-за оверхеда, связанного с трансляций инструкций SpiderMonkey в Java bytecode.
Тест на скорость год спустя