我一直在 perl 脚本中使用 JSON 包,该脚本解析一长串相对较短的 JSON 字符串,并使用 Devel::NYTProf 分析了该过程。似乎大部分时间都由string
解析过程中的 JSON 函数占用。
除了不使用 JSON 包并尝试通过自己解析来加速它之外,我还可以使用任何加速器吗?
编辑: JSON 包是使用cpanm
. 如果通过优化安装过程可以获得任何加速,他们也受到欢迎。
我一直在 perl 脚本中使用 JSON 包,该脚本解析一长串相对较短的 JSON 字符串,并使用 Devel::NYTProf 分析了该过程。似乎大部分时间都由string
解析过程中的 JSON 函数占用。
除了不使用 JSON 包并尝试通过自己解析来加速它之外,我还可以使用任何加速器吗?
编辑: JSON 包是使用cpanm
. 如果通过优化安装过程可以获得任何加速,他们也受到欢迎。
尝试安装JSON::XS。然后,“使用 JSON”会自动使用 XS 版本。该模块是用C语言编写的,性能非常好。
另一个有趣的解决方法:
如果您需要解析 JSON,以便可以从大型 JSON 对象中提取更小的块,并且所述 JSON 对象来自 web 应用程序 - 只需在 JavaScript 中将 JSON 解析并缩减为更小的块,然后再将其发送到 Perl。
JS 具有惊人的快速和高效的字符串到 JSON 解析器(Douglas Crockford 的解析器,不是 eval
,只是为了清楚起见),即使您从字符串而不是JSON 数据结构本身开始。