代码之家  ›  专栏  ›  技术社区  ›  janpio WillBroadbent

php:array as var_export/include vs.(un)serialize vs.json_u(en de)code

  •  17
  • janpio WillBroadbent  · 技术社区  · 16 年前

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

    当然,我在3个看起来最有希望的方案上做了一些基准测试。我完整的基准数据:

    时间:

    • 包括:0.338…
    • 非序列化:0.180…
    • JSON解码:0.134…

    内存使用峰值:

    • 其中:384374.64
    • 非市场化:201377.28
    • JSON U解码:219528.08

    文件大小:

    • 包括:3135 kb
    • 非序列化:3142 KB
    • json_解码:1838 kb

    我认为JSON解码是一种方法,因为峰值内存使用率是我最关心的问题,即使是在那里,JSON也相当不错。但JSON的速度和文件大小却很惊人。我从没想过会这么快。

    有异议或其他建议吗?

    1 回复  |  直到 13 年前
        1
  •  2
  •   symcbean    16 年前

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

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

    (这也意味着我后来能够修改代码,只选择性地加载知识树的相关部分,这会使代码更快地增长)。

    高温高压

    C.