我必须将很长的 JSON 文本解析为 JSON 对象。我尝试使用以下代码测量执行时间。
var t = process.hrtime()
JSON.parse(jsonStr);
t = process.hrtime(t);
它大约需要 0.5 毫秒,这相当多。由于 nodejs 的 V8 引擎是单线程的,如果这个操作如此繁重和频繁,吞吐量将受到很大影响。
因此,我打算在 C 中编写一个异步 JSON.parse 作为 NodeJS 原生插件,uv_queue_work
用于让繁重的操作发生在另一个线程中,使用多核并避免占用 nodejs 主循环。
问题是,nodeJS 中的 V8 对象不允许从主线程以外的其他线程访问。
有什么方法可以解析文本并在另一个线程中创建 V8 对象,然后将新创建的 V8 对象复制到主线程中?
溴