Javascript 在Node.js C++;插件?
我正在开发一个Node.js插件/JavaScript编解码器,它利用一个基于C的库来处理编码/解码。这个插件非常快,除了一个方面。目前,解码数组的时间比其他实现(例如Javascript 在Node.js C++;插件?,javascript,c++,arrays,node.js,node.js-addon,Javascript,C++,Arrays,Node.js,Node.js Addon,我正在开发一个Node.js插件/JavaScript编解码器,它利用一个基于C的库来处理编码/解码。这个插件非常快,除了一个方面。目前,解码数组的时间比其他实现(例如JSON.parse和MessagePack.decode)要长得多。我目前使用的方法如下: Create v8 Local<Array> result; for (i = 0 to #elements in encoded array) result->Set(i, decode(element));
JSON.parse
和MessagePack.decode
)要长得多。我目前使用的方法如下:
Create v8 Local<Array> result;
for (i = 0 to #elements in encoded array)
result->Set(i, decode(element));
创建v8本地结果;
对于(i=0到编码数组中的#个元素)
结果->设置(i,解码(元素));
问题是
Set
需要很长时间,所以如果有人知道一种更快的方法让我完成这项工作,那将不胜感激。我们在这里讨论的元素有多少?@mscdex可能很多。我应该澄清一下,编码的数组起源于JavaScript数组
。因此,用户可以传入一个包含3个要编码元素的数组,即10000个。它存储为一个ArrayBuffer
,并返回给JS程序。然后可以将ArrayBuffer
传递回插件进行解码,在那里转换碰巧将其分解为元素(这是C库的一部分,不是我的直接实现)。我所负责的就是调用C库对每个元素进行解码,并返回一个等效的JS数组,该数组表示最初编码的元素。我们在这里讨论的元素有多少?@mscdex它可能有很多。我应该澄清一下,编码的数组起源于JavaScript数组
。因此,用户可以传入一个包含3个要编码元素的数组,即10000个。它存储为一个ArrayBuffer
,并返回给JS程序。然后可以将ArrayBuffer
传递回插件进行解码,在那里转换碰巧将其分解为元素(这是C库的一部分,不是我的直接实现)。我所负责的就是调用C库来解码每个元素,并返回一个等价的JS数组,该数组表示最初编码的元素。