PHP:数组作为var_export/包含与(取消)序列化与json_(en|de)代码

2022-08-30 21:22:01

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

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

时间:

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

峰值内存使用量:

  • 包括: 384374.64
  • 取消序列化: 201377.28
  • json_decode: 219528.08

文件大小:

  • 包括: 3135 kB
  • 非序列化: 3142 kB
  • json_decode: 1838 kB

我认为json_decode是要走的路,因为峰值内存使用是我最小的关注点,即使有json也相当不错。但是json的速度和文件大小只是摇摆不定。我从没想过会这么快。

有异议或其他建议吗?


答案 1

向1月致敬1)实际尝试不同的方法2)分享结果

前段时间,我正在研究一个人工智能系统,因为知识库存储在一个大数组中。我发现从数据库记录(本地mysql,大约30,000行)重建整个数组比从文件取消序列化数组要快一个数量级。

(这也意味着我后来能够修改代码,只选择性地加载知识树的相关部分,这进一步加快了速度)。

呵呵

C.


答案 2