为什么JSON.stringify()对于大型对象比较慢

时间:2020-09-21 05:13:55

标签: javascript json stringify

我试图了解JSON.stringify(),而且经常听到人们说它对大型物体非常慢。因此,我想了解是什么使JSON.stringify如此缓慢。

在Internet上进行研究之后,我发现JSON.stringify()的替代方案是名为fast-json-stringify的模块,该模块使用基于架构的技术对对象进行字符串化。

您能否解释一下基于模式的技术胜过JSON.stringify()的情况。

任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:2)

JSON.stringify是cpu绑定操作。

需要对受JSON.stringify约束的对象进行解析,然后在当前线程期间将其传输到外部存储块中。 (严重阻塞Object:Get / Has / IsThatType或NULL /内存分配等)完成“字符串化”后,必须将结果复制回当前堆。 (不是免费的-再次阻止主线程)