8

我一直在 perl 脚本中使用 JSON 包,该脚本解析一长串相对较短的 JSON 字符串,并使用 Devel::NYTProf 分析了该过程。似乎大部分时间都由string解析过程中的 JSON 函数占用。

除了不使用 JSON 包并尝试通过自己解析来加速它之外,我还可以使用任何加速器吗?

编辑: JSON 包是使用cpanm. 如果通过优化安装过程可以获得任何加速,他们也受到欢迎。

4

2 回答 2

14

尝试安装JSON::XS。然后,“使用 JSON”会自动使用 XS 版本。该模块是用C语言编写的,性能非常好。

于 2013-07-10T12:56:52.927 回答
0

另一个有趣的解决方法:

如果您需要解析 JSON,以便可以从大型 JSON 对象中提取更小的块,并且所述 JSON 对象来自 web 应用程序 - 只需在 JavaScript 中将 JSON 解析并缩减为更小的块,然后再将其发送到 Perl。

JS 具有惊人的快速和高效的字符串到 JSON 解析器(Douglas Crockford 的解析器不是 eval,只是为了清楚起见),即使您从字符串而不是JSON 数据结构本身开始。

于 2013-07-10T13:42:29.107 回答