Аддоны узлов доступны в JXcore с использованием LLVM
Я прошу прощения, если это не то место, где можно разместить этот вопрос, или если оно похоже на заданные ранее вопросы.
Я занимаюсь исследованием того, как поместить веб-интерфейс в проект C++, который я хочу начать. Я наткнулся на Node.js и проверил несколько аддонов, используя движок V8.
Моя идея состоит в том, чтобы направить бизнес-логику (DB(sqlite), CRM, CMS и т. Д.) В бэкэнд C++ и обрабатывать такие вещи, как соединения через веб-сокеты, проверки форм и т. Д. В Node.
У JXcore есть очень привлекательные спецификации на бумаге, поэтому я очень заинтересован в том, чтобы опробовать его, но я не уверен, как повлияет на мой аддон, учитывая, что у JXcore есть будущая цель - перейти с V8 на LLVM. Надеемся, что будут доступны опции для соединения JS с C++.
Итак, исходя из вышеизложенного, у меня есть следующие доступные варианты:
- делать все в Node (без C++ addon)
- использовать JXcore или Node и C++ addon без многопоточности
- используйте JXcore или Node и реализуйте многопоточность в моем аддоне C++, используя, например, libuv
- делать все в JXcore (без C++ addon)
Какой из перечисленных выше вариантов, по вашему мнению, был бы лучшим путем в отношении производительности? Я также был бы признателен за любые альтернативные варианты выше.
1 ответ
Я не думаю, что вам понадобятся аддоны C++ для производительности (особенно в вашем случае), если вы выберете путь JXcore. Во-первых, V8 очень быстрый, и с помощью многопоточности у вас уже есть весь процессор. Вторая и самая важная часть - когда JXcore обновляет V8 до LLVM, ваши исходники Javascript будут скомпилированы в собственный код.
Как уже упоминалось, они уже внедрили (бета2 и более поздние версии) некоторые популярные аддоны C++ (многопоточные) и выпустили файл заголовка оболочки, чтобы легко разрабатывать дружественные к многопоточности аддоны C++.
Больше информации о JXcore