【问题标题】:PHP ini vs array performancePHP ini 与数组性能
【发布时间】:2013-05-12 11:39:47
【问题描述】:

我想知道什么更快:

  • 加载/包含一个 php 文件,该文件包含函数内的数组中的一些静态数据或
  • 解析包含数据的 ini 文件并将其放入数组中

我需要知道我的配置文件,其中一些可能非常大。

编辑:

我现在用一个数组和一个具有 10.000 值的 ini 文件对其进行了测试 并得出以下结果:

  • 静态数据耗时0.0072767734527588完成
  • INI 文件采用 0.01829195022583 进行加载和解析

【问题讨论】:

    标签: php arrays config readfile ini


    【解决方案1】:

    这将计算处理这两个文件/数据集的每一个所需的时间。

    function staticDataCalc()
    {
        $start = microtime(true);
    
        /** LOAD AND PARSE YOUR PHP FILE WITH STATIC DATA **/
    
        $end = microtime(true);
        $totalTimeTaken = $end - $start;
    
        echo 'Static Data took ' . $totalTimeTaken . ' to complete';
    }
    
    
    function iniFileCalc()
    {
        $start = microtime(true);
    
        /** LOAD AND PARSE YOUR INI FILE **/
    
        $end = microtime(true);
        $totalTimeTaken = $end - $start;
    
        echo 'INI file took ' . $totalTimeTaken . ' to load and parse';
    }
    
    echo staticDataCalc() . '<br />';
    echo iniFileCalc();
    

    【讨论】:

    • 感谢您的“测试模块”。我对其进行了测试,得到了以下结果:静态数据耗时 0.0072767734527588 完成,INI 文件加载和解析耗时 0.01829195022583 :)
    • 这表明加载静态数据的加载速度要快 0.01 秒 :)
    【解决方案2】:

    如果您需要它来进行全局配置,那么使用数组创建一个文件并使用函数获取它的值并将键作为参数传递会比 ini-file 更好更快。

    【讨论】:

      【解决方案3】:

      使用字节码缓存,包含 php 文件会更快。

      【讨论】:

        【解决方案4】:

        我会放弃 PHP ini...由于以下几点..

        1. 将单个文件与其他语言一起使用(如 Perl、Python、Ruby 等)。
        2. 数据编辑。 INI 格式比 PHP 代码可怕得多,即使只是一堆变量声明

        3. 易于更新设置。 我认为创建一个新的 INI 文件比编写一个 PHP 文件要容易得多。

        4. 易于设置变量之间的关系。 使用 INI 文件为您的设置提供层次结构很容易。虽然使用 PHP 也可以做到这一点,但如果您尝试使用深度嵌套的关联数组来存储信息,那么它就不那么整洁并且可能会变得难看。

        【讨论】:

        • ad 1:我只是将它用于 php,根据我的问题,只有 php 是相对的;广告 2 和 3:我认为这没关系 :) ;广告 4:嗯,在大多数情况下,我认为您不会将“深度嵌套的关联数组”用于配置文件......
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-12-25
        • 2011-06-21
        • 2011-09-21
        • 2012-06-28
        • 2011-05-30
        • 2011-02-15
        相关资源
        最近更新 更多