PHP:Array as var_export / include vs.(un)serialize vs. json_(en | de)code

时间:2010-01-19 10:24:02

标签: php arrays

我必须使用文件将一个大数组从一个服务器传输到另一个服务器。这是一个多维但非常简单的数组。现在我正在寻找最有效的方法,将这个文件放到第二台服务器上的应用程序中。所以这个问题是关于file->数组部分,而不是第一台服务器上的array->文件部分。

当然,我对3种最有希望的替代方案做了一些基准测试。我的完整基准数据:

时间:

  • 包括:0.338 ......
  • 反序列化:0.180 ......
  • json_decode:0.134 ......

峰值内存使用情况:

  • 包括:384374.64
  • 反序列化:201377.28
  • json_decode:219528.08

文件大小:

  • 包括:3135 kB
  • unserialize:3142 kB
  • json_decode:1838 kB

我认为json_decode是要走的路,因为峰值内存使用量是我最关心的问题,即使json非常好。但是json的速度和文件大小只是摇滚。我从来没有想过会这么快。

有任何异议或其他建议吗?

1 个答案:

答案 0 :(得分:2)

赞扬Jan 1)实际尝试不同的方法 2)分享结果

前一段时间,我正在开发一个AI系统,因为知识库存储在一个大型阵列中。我发现从数据库记录(本地mysql,大约30,000行)重建整个数组要快一个数量级,而不是从文件中反序列化数组。

(这也意味着我后来能够修改代码,只选择性地加载知识树的相关部分,甚至更多地加速它)。

HTH

℃。