javascript - 为什么 JSON.stringify() 对于大型对象来说很慢
问题描述
我试图理解JSON.stringify()
并且经常听到人们说它对于大型物体来说非常慢。所以我想了解是什么让JSON.stringify
这么慢。
在互联网上进行研究后,我发现 JSON.stringify() 的替代方法是一个名为的模块fast-json-stringify
,它使用基于模式的技术来对对象进行字符串化。
您能否解释一下基于模式的技术如何表现出色JSON.stringify()
。
任何帮助将不胜感激。
谢谢,
解决方案
JSON.stringify
是一个 cpu 绑定操作。
在当前线程中,需要对对象对象JSON.stringify
进行解析,然后将其转移到外部内存块中。(严重阻塞 Object:Get / Has / IsThatType 或 NULL / 内存分配等)当“stringify”完成时,必须将结果复制回当前堆。(不是免费的——再次阻塞主线程)
推荐阅读
- python - 使用 heredocs 或更好的方法编写 Bash 脚本
- javascript - 收到欢迎信息后触发函数
- android - 如何在 Android 中使用我自己的本机代码使用第三方本机代码?
- javascript - 具有动态值的半圆形进度条
- mysql - 为什么索引会使查询变慢?
- apache - 某些请求的 Apache https 请求状态挂起,返回 502 状态
- json - 错误项目的 package.json 文件似乎格式错误
- r - 如何用图像(闪亮)自动替换列名中的文本?
- asp.net-core - ASP.NET Core MVC - 如何在没有会话的情况下保留购物篮数据
- c# - Azure 服务总线侦听器打开太多 TCP 连接(耗尽)