与纯 V8 相比,NodeJS 是否有任何性能缺陷或显着开销?

Does NodeJS have any performance demerits or significant overhead in comparison to pure V8?

我正在桌面环境中开发 运行 的应用程序。在后端,它 运行s C++。前端是用户可修改的,用 JavaScript 编写,使用了一些来自 C++ 的公开 classes/functions。

我目前正在尝试确定该应用程序是否应该仅 运行 v8 以便 运行 JavaScript 代码,或者它是否应该 "upgrade"使用 NodeJS。升级的好处是可以访问大量的 Node 模块,包括内置的和第三方的,供用户依赖。但是,我担心 JavaScript 的性能可能会因 Node 带来的额外负担而受到阻碍。

也许在C++后端用自己的版本实现最常见的Node模块并将它们暴露给JS会更好?还是它们会有 irrelevant/no 性能差异?

针对 NodeJS 构建不会导致显着的性能损失。但是,它可能会引入可维护性损失和安全性损失。 NodeJS 可能有许多您没有在您的应用程序中使用的功能。它可能具有您实际上不希望 Javascript 作者访问的功能。您 运行 处于高度安全的环境中吗?您可能希望限制 Javascript 作者对文件系统和网络的访问权限。如果您的应用程序中有 运行 第三方不受信任的代码,并且您的应用程序在单独的第三方系统上 运行,那么您肯定需要考虑安全隐患。在这种情况下,直接针对 V8 构建将是更好的选择。