首页 > 解决方案 > 为什么 JSON.stringify() 对于大型对象来说很慢

问题描述

我试图理解JSON.stringify()并且经常听到人们说它对于大型物体来说非常慢。所以我想了解是什么让JSON.stringify这么慢。

在互联网上进行研究后,我发现 JSON.stringify() 的替代方法是一个名为的模块fast-json-stringify,它使用基于模式的技术来对对象进行字符串化。

您能否解释一下基于模式的技术如何表现出色JSON.stringify()

任何帮助将不胜感激。

谢谢,

标签: javascriptjsonstringify

解决方案


JSON.stringify是一个 cpu 绑定操作。

在当前线程中,需要对对象对象JSON.stringify进行解析,然后将其转移到外部内存块中。(严重阻塞 Object:Get / Has / IsThatType 或 NULL / 内存分配等)当“stringify”完成时,必须将结果复制回当前堆。(不是免费的——再次阻塞主线程)


推荐阅读