[英]Node.js writing to array without blocking
我是Node的新手,不胜感激有关写入数组的一些建议。 我有高频实时数据输入,每个刻度都将写入单个数组。
以异步方式执行此操作是否有益? 如果是这样,该怎么办?
这是我的代码的精简片段。 收到新的报价后,将调用“过滤器”功能。 然后,“ storeWindowData”函数保存到数组。 我认为这在高负载下可能会阻塞?
感谢任何评论。
问候,本。
var window_data = [];
module.exports = {
filter: function (data) {
this.storeWindowData(timestamp, ticker, content);
}
},
storeWindowData: function(timestamp, ticker, content){
// Check if we have seen this ticker before for this minute
if(window_data[timestamp] !== undefined && window_data[timestamp][0] !== undefined && window_data[timestamp][0] === ticker){
window_data[timestamp][1] = window_data[timestamp][1] + ',' + content;
} else {
window_data[timestamp] = [ticker, content];
}
}
};
数组是内存中的原语(嗯,是内置类型,不是特别原始)。
在JavaScript级别上,您究竟如何异步写入?
等待写入时将其暂时存储在哪里? 第二个数组? (看到问题吗?写入该阵列将导致两次写入阵列,这将是速度的两倍。)
您将不得不确定一个不同的瓶颈,或者如果这确实是问题所在(我非常非常确定这不是问题),或者您的计算机处理此问题的能力太弱,或者您的数据异常高传入的数据量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.