使用LLVM在JXcore中提供Node插件

Node addons available in JXcore using LLVM

本文关键字:Node 插件 LLVM JXcore 使用      更新时间:2023-10-16

如果这不是发布这个问题的正确地方,或者如果它与之前问过的问题相似,我道歉。

我正在做一些研究如何把一个web界面在一个我想开始的c++项目。我偶然发现了Node.js,并检查了一些使用V8引擎的插件。

我的想法是将业务逻辑(DB(sqlite), CRM, CMS等)路由到c++后端,并在Node中处理websocket连接,表单验证等内容。

JXcore有非常吸引人的规格,所以我很有兴趣尝试一下,但我不确定我的插件将如何受到影响,因为JXcore有一个未来的目标,从V8迁移到LLVM。希望将来会有更多的选择来桥接JS和c++。

因此,基于上面的内容,我有以下选项可用:
  1. 在Node中执行所有操作(没有c++插件)
  2. 使用JXcore或Node和c++插件,不使用多线程
  3. 使用JXcore或Node在我的c++插件中实现多线程,使用libuv为例
  4. 在JXcore中做所有的事情(没有c++插件)

在你看来,在性能方面,上面哪个选项是更好的路线?

如果您选择JXcore path,我认为您不需要c++插件来提高性能(特别是在您的情况下)。首先,V8非常快,使用多线程,你已经拥有了整个CPU容量。第二个也是最重要的部分是,当JXcore将V8升级到LLVM时,你的Javascript源代码将被编译成本地代码。

正如这里提到的,他们已经嵌入了一些流行的c++插件(多线程),并发布了一个包装头文件,以便轻松地开发多线程友好的c++插件。

关于JXcore的更多信息