我正在使用Radix-4 FFT的JS实现(此为https://www.npmjs.com/package/fft.js)。我正在分析2 ^ 25个浮点数的序列。该软件包在浏览器端使用此大小信号可以正常工作,但在node.js上会崩溃:
致命错误:无效的数组长度分配失败-JavaScript堆 内存不足
[19262:0x559417f70870] 20352 ms:清道夫634.2(656.1)-> 633.5 (671.6)MB,65.3 / 0.0 ms分配失败
该过程仅在崩溃前达到500-600mb左右,并且更改max-old-space-size并没有任何区别。在内存管理方面,这种fft实现可能不太好,我只是想尝试使用此功能,然后再返回使用某些外部脚本(例如scipy)进行FFT。无论哪种方式,我都想知道我在这里撞的是哪堵墙。这可能是我不知道的非常简单的一个。
谢谢
通过在fft实现中从普通数组更改为类型数组来解决-节点进程随后使用了更多内存,但单个对象更小