jxcore任务vs nodejs clustur

为提供multithreading节点提供clusturJXCorenode.js fork)也声称他们提供了multithreading。 但是如果它已经存在于节点中(如clustur )那么JXcore在multithreading方面有什么额外的优势呢?

首先, jxcore不是node.js分支,而是“具有附加function的node.js分发”。 就像你不叫debian一个linux fork。 Debian可以运行不同的内核,即freebsdhurdjxcore可以同时使用v8(如node.js)和spidermonkey (来自mozilla)作为JavaScript引擎。

jxcore是在node.js不提供multithreading时创build的,主要目标之一是添加它。 你可以在http://jxcore.com/docs/jxcore-feature-multitasking.htmlfind它的mt机制的官方描述。 在我看来,从命令行启动mt,没有任何代码的变化,可能是有用的。

Node.js集群和JXcoremultithreading之间的主要区别在于集群使用多个独立的进程 ,而JXcore线程实际上是在同一个进程下运行的独立实例 。 这允许线程之间的通信比集群之间的通信稍快。 另外用JXcore IMHO编写一个multithreading任务的代码要容易得多。

其中一个早期的基准testing可以在这里find: JXcore vs Vert.x与Node.JS集群