PHP: 将数组作为 var_export/include、(un)serialize 或 json_(en|de)code。

9 浏览
0 Comments

PHP: 将数组作为 var_export/include、(un)serialize 或 json_(en|de)code。

我需要通过文件将一个大数组从一个服务器传输到另一个服务器。这是一个多维的、相对简单的数组。现在我正在寻找最有效的方法,将这个文件传输到第二个服务器上的我的应用程序中。所以这个问题是关于文件->数组部分的,而不是第一个服务器上的数组->文件部分。

当然,我对看起来最有希望的3种替代方案进行了一些基准测试。我的完整基准数据如下:

时间:

  • include:0.338...
  • unserialize:0.180...
  • json_decode:0.134...

峰值内存使用量:

  • include:384374.64
  • unserialize:201377.28
  • json_decode:219528.08

文件大小:

  • include:3135 kB
  • unserialize:3142 kB
  • json_decode:1838 kB

我认为json_decode是最好的选择,因为峰值内存使用量是我最不关心的,即使在那方面,json也相当不错。但是json的速度和文件大小确实很棒。我从来没想到它会这么快。

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

0