为什么v8::JSON::Parse比NodeJS的JSON::Parse慢得多?
Why v8::JSON::Parse from v8 much slower than NodeJS JSON::parse?
我知道NodeJS是建立在V8之上的。这就是为什么它看起来如此奇怪,当我的c++包装围绕v8解析json文件(2 Mb)在394秒和NodeJS脚本解析相同的json文件在167秒。
在c++中,我这样调用parse json
v8::MaybeLocal<v8::Value> jsonData = v8::JSON::Parse(isolate, v8::String::NewFromUtf8(isolate, data));
和NodeJS中的JSON.parse(data)
。
当我在这样的循环中调用v8::JSON::Parse
时
for (int i = 0; i < 1000; i++) {
v8::JSON::Parse(isolate, v8::String::NewFromUtf8(isolate, data));
}
它消耗了我所有的内存,OOM杀手杀死了我的应用程序。为什么它会这样工作?也许这个函数包含内存泄漏,或者我需要释放一些东西。
多谢!
我只打赌在纯v8使用中,从' json::parse'返回的json立即被销毁,而在node.js中,它要么异步收集垃圾,要么在循环外。尝试将返回的json块放在一个保留的向量中,看看性能是否会提高。
相关文章:
- Parse JSON Tree - Jquery
- Javascript: parse json to list
- NodeJS中的Parse Json文件在Node中显示意外结果
- 具有相同数据的Ajax错误(parserror:SyntaxError:JSON.parse:JSON数据的第1行第1列
- Django/JS: json.dumps and parse.json
- javascript parse json multidimensional array
- 错误:“JSON.parse:JSON 数据第 1 行第 1 列的意外字符”,当包含其他 php 文件时
- jquery mobile login parse json response in jquery mobile
- JavaScript parse JSON
- 无法显示数据.SyntaxError:JSON.parse:JSON数据的第1行第1列出现意外字符
- parse json in javascript
- Parse JSON from URL
- JSON Parse JSON和Jquery ParseJson在visualforce中不起作用
- AngularJS parse JSON
- JavaScript$.parseJSON错误-SyntaxError:JSON.parse:JSON数据的第1行第1列
- JSON.parse:JSON数据的第1行第1列出现意外字符
- Parse JSON javascript
- JSON.parse(json) it's is broken
- obj == JSON.parse(JSON.stringify(obj)) is false
- JSON.parse(JSON.stringify(x)) Purpose?