Аддоны узлов доступны в JXcore с использованием LLVM

Я прошу прощения, если это не то место, где можно разместить этот вопрос, или если оно похоже на заданные ранее вопросы.

Я занимаюсь исследованием того, как поместить веб-интерфейс в проект C++, который я хочу начать. Я наткнулся на Node.js и проверил несколько аддонов, используя движок V8.

Моя идея состоит в том, чтобы направить бизнес-логику (DB(sqlite), CRM, CMS и т. Д.) В бэкэнд C++ и обрабатывать такие вещи, как соединения через веб-сокеты, проверки форм и т. Д. В Node.

У JXcore есть очень привлекательные спецификации на бумаге, поэтому я очень заинтересован в том, чтобы опробовать его, но я не уверен, как повлияет на мой аддон, учитывая, что у JXcore есть будущая цель - перейти с V8 на LLVM. Надеемся, что будут доступны опции для соединения JS с C++.

Итак, исходя из вышеизложенного, у меня есть следующие доступные варианты:

  1. делать все в Node (без C++ addon)
  2. использовать JXcore или Node и C++ addon без многопоточности
  3. используйте JXcore или Node и реализуйте многопоточность в моем аддоне C++, используя, например, libuv
  4. делать все в JXcore (без C++ addon)

Какой из перечисленных выше вариантов, по вашему мнению, был бы лучшим путем в отношении производительности? Я также был бы признателен за любые альтернативные варианты выше.

1 ответ

Решение

Я не думаю, что вам понадобятся аддоны C++ для производительности (особенно в вашем случае), если вы выберете путь JXcore. Во-первых, V8 очень быстрый, и с помощью многопоточности у вас уже есть весь процессор. Вторая и самая важная часть - когда JXcore обновляет V8 до LLVM, ваши исходники Javascript будут скомпилированы в собственный код.

Как уже упоминалось, они уже внедрили (бета2 и более поздние версии) некоторые популярные аддоны C++ (многопоточные) и выпустили файл заголовка оболочки, чтобы легко разрабатывать дружественные к многопоточности аддоны C++.

Больше информации о JXcore

Другие вопросы по тегам