龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > php编程 >

代码优化-提升性能浅剖析:赛选奇偶数

时间:2014-07-22 14:48来源: 作者: 点击:
分享到:
WEB项目优化之基点:代码优化;优化技术手段:1、选择正确的、高效的循环方案;2、减小额外循化与多余运算。欲知更多算法与优化技术敬请定期翻阅:开源博客EQPHP-Blog(算法、优化
WEB项目优化之基点:代码优化;
优化技术手段:
1、选择正确的、高效的循环方案;
2、减小额外循化与多余运算。

欲知更多算法与优化技术敬请定期翻阅:开源博客EQPHP-Blog(算法、优化)
<?php

class a_test{

    private $static_class;

    static function index(){

        $data=range(0,100000);

        $begin=debug::set_flag(); //开启debug调试点

        $odd=self::optimization($data,true);

        $end=debug::set_flag(); //结束debug调试点
        out(debug::used($begin,$end),1,1);

        // [origin]
        // [0] => 0.101s
        // [1] => 20801.063kb
        // [2] => 91326.813kb

        // [optimization]
        // [0] => 0.086s
        // [1] => 20800.875kb
        // [2] => 132924.938kb
    }


    //原始算法
    static function origin($data,$is_odd=false){

        $result=null;
        for ($i=0; $i < count($data); ++$i) {
            if ($data[$i]%2 == 0) {
                if (!$is_odd) {
                    $result[]=$data[$i];
                }
            } else {
                if ($is_odd) {
                    $result[]=$data[$i];
                }
            }
        }

        return $result;
    }


    //优化算法
    static function optimization($data,$is_odd=false){

        $odd=$even=null;
        $num=count($data);

        for ($i=0; $i < $num; ++$i) {
            if ($data[$i]%2 == 0) {
                $even[]=$data[$i];
            } else {
                $odd[]=$data[$i];
            }
        }

        return $is_odd ? $odd : $even;
    }


    //最佳算法
    static function best($data,$is_odd=false){
        //TODO 期待你的最佳算法
    }


}
精彩图集

赞助商链接