Articles of 分叉

是否有可能在Node.js中分叉一个JavaScript函数?

我尝试从我的主JavaScript文件执行长时间运行的函数。 我有2 cpu,所以我怎么才能分叉function?

将GitHub项目的分支发布到新的NPM模块,但保留与原始合并的选项?

GitHub和NPM上存在一个高质量的开源代码库,拥有广泛的用户群。 我已经分出了这个项目并做了大量的扩展。 我认为准备合并回来。 但(适当地)它的项目所有者谁打电话不是我。 现在已经有几个星期没有答复了。 有几位用户就这个被合并回来的问题进行了讨论,并且更多的直接和我联系,作为一个单独的项目发布到NPM上。 严重的开发人员可以通过GitHub获得新版本,但它只是原始资源,而不是链接/缩小/定制版本,因为自述文件说不要运行make dist直到它合并回来并且版本号递增。 我认为它应该像创build这个分支的分支一样简单,并将其作为一个新的NPM模块发布。 但GitHub不允许我这样做(“你已经在看这个项目”) 有没有一种方法可以将其作为新的NPM模块发布,但仍然保留选项 我的叉子向原始提交拉请求 我的叉子从原来的上游变化 我的分叉来从我的叉(从而原来的)获取上游变化 我是否在新的电子邮件地址下创build新的GitHub帐户? 叉在GitHub我的回购叉

Node.js child_process.fork()在不同的CPU核心上运行

我有一个运行长时间执行的进程的应用程序。 为了使它更快,我做了简单的数据分片,并且希望并行地运行它们,只需通过.fork()2个相同应用程序的实例。 我在那里有2个Cores机器,并且要确保2个Cores被利用,第一个实例在第一个核心上运行,第二个在第二个核心上运行。 我知道cluster模块,但在这种情况下似乎不相关,因为我不需要HTTP服务运行和它们之间的负载平衡。 只是工作人员(意思是说,他们不需要彼此沟通,发送消息或任何 – 他们只是做HTTP请求和存储数据到数据库)。 有没有可能控制node.js进程需要哪个CPU核心? 如何监视在Mac / Linux?

有没有办法在Node.JS中的worker / threads / something中共享内存?

我有一个Node应用程序访问一个静态的,大型(> 100M),复杂的内存数据结构,接受查询,然后通过HTTP向客户端提供一小部分的数据。 大多数查询可以在十分之一秒内回答。 华丽的节点! 但是,对于某些查询,search这个数据结构需要几秒钟的时间。 这很糟糕,因为其他人都必须等待。 为了更有效地服务更多的客户,我想使用某种并行性。 但是,由于这个数据结构如此之大,我想在工作者或者线程之间分享,或者你有什么,所以我不会烧数百兆字节。 这将是完全安全的,因为数据结构不会被写入。 任何其他语言的典型“fork()”都可以。 但是,据我所知,在Node中执行并行的所有标准方法明确地使这是不可能的。 为了安全,他们不希望你分享任何东西。 但有没有办法? 背景: 把这个数据结构放在数据库中,或者使用memcached或者类似的东西是不切实际的。 WebWorker API库和类似的只允许简短的序列化消息传入和传出工作人员。 节点的群集使用名为“叉”的调用,但它不是真正的现有过程的叉,它正在产生一个新的。 所以再一次,没有共享的记忆。 可能真正正确的答案是使用文件系统访问共享内存,也就是tmpfs或mmap。 有一些节点库使得mount()和mmap()完全可以用于这样的事情。 不幸的是,人们必须在同步查询和读取之上实现复杂的数据结构访问。 我的应用程序使用数组的字典等数组。 不用重新实现就好了。