zoukankan      html  css  js  c++  java
  • str_replace vs preg_replace

    转自:http://benchmarks.ro/2011/02/str_replace-vs-preg_replace/

    事实证明str_replace确实比preg_replace快。

    If you find yourself handling strings and replacing sub-strings within them you want to make sure that you are using the fastest way possible to do it.
    In order to help you we ran tests using an average length string (50k characters) and 100*1000 test runs.
    After running these tests we concluded that str_replace is faster thanpreg_replace when it comes to simple replace rules, these being our results for two separate full test runs:

    Time for str_replace: 2.2866821289062 seconds
    Time for preg_replace: 2.9614992141724 seconds

    Time for str_replace: 2.471617937088 seconds
    Time for preg_replace: 3.2965259552002 seconds

    You can see the code we used for benchmarking below:

    <?php
    
    //Build string to be used
    $max_elements=50000; $max_runs=100;
    
    $test_string='';
    for($i=0;$i<$max_elements;$i++)    $test_string.=chr(rand(32,127));
    
    function test_str_replace()
    {
    global $test_string,$max_runs;
    for($i=0;$i<$max_runs;$i++)    $test_string=str_replace(' ',' ',$test_string);
    }
    
    function test_preg_replace()
    {
    global $test_string,$max_runs;
    for($i=0;$i<$max_runs;$i++)    $test_string=preg_replace("/[ ]/",' ',$test_string);
    }
    
    $time = microtime(true);
    for($i=0;$i<$max_runs;$i++) test_str_replace();
    $time = microtime(true) - $time;
    echo "Time for str_replace: {$time} seconds<br>
    ";
    
    $time = microtime(true);
    for($i=0;$i<$max_runs;$i++) test_preg_replace();
    $time = microtime(true) - $time;
    echo "Time for preg_replace: {$time} seconds<br>
    ";
    
    ?>
  • 相关阅读:
    备忘录模式---行为型
    观察者模式(Observer)---行为型
    Hadoop基础
    centos执行-查看,复制,删除-命令的脚本
    权限问题
    12月centos单词
    配置集群遇到的问题
    SSH--完全分布式主机设置【克隆过安装过Hadoop的主机后】
    java随机排座位
    NewWord
  • 原文地址:https://www.cnblogs.com/wangkongming/p/4534047.html
Copyright © 2011-2022 走看看