数字信号处理例程中的Node.js

Digital signal processing routines in Node.js?

本文关键字:Node js 例程 数字信号处理      更新时间:2023-09-26

我想拥有Node.js编写基于web的应用程序的所有优点。然而,我意识到它的模型并不适合运行计算密集型DSP功能。我浏览了一下文档,发现有一个关于插件的区域。

我想我的问题是这样的:如果我用c++写我的DSP函数(或从其他地方带来),并将它们合并到我的Node.js应用程序中,我会经历多少减速?我的印象是,既然我正在调用共享库,就不应该遇到任何减速。任何关于这方面的见解都会很好。

您不必构建一个二进制附加组件来与您的c++代码进行互操作。也许你可以把c++代码变成一个命令行工具?

你可以在node中使用child_process模块来生成DSP工具的进程,并使用某种IPC(进程间通信),如Unix套接字在node和c++之间进行通信。

这样你就消除了对太多c++粘合代码的需求。

子进程: http://nodejs.org/api/child_process.html

净(插座): http://nodejs.org/api/net.html

它只会和你的单个组件一样慢。Node在等待来自c++的数据时不会阻塞,因此可以做其他事情(响应HTTP请求等)。

IPC的另一个选择是使用消息传递库,如zeromq

zeromq c++ bindings: http://zeromq.org/bindings:cpp

zeromq节点绑定: http://zeromq.org/bindings:node-js