PHP7 RC7 Release對比PHP5.6快速排序20000資料效能體驗以及新文法嘗鮮_PHP教程

來源:互聯網
上載者:User

PHP7 RC7 Release對比PHP5.6快速排序20000資料效能體驗以及新文法嘗鮮


最近Zend的PHP7已經 處於最後的BUG修複階段,目前 已經更新RC7,對於Zend官方的說法PHP7的效能大約相比PHP5系列版本 提高2倍以上,增加了一些新的文法,摒棄了PHP5的一些影響效能的因素,主要增加了以下Features 。

  • Improved performance: PHP 7 is up to twice as fast as PHP 5.6 效能比5.6提高2倍 Consistent 64-bit support 64位一致性支援Many fatal errors are now Exceptions 增加許多致命錯誤異常 Removal of old and unsupported SAPIs and extensions 移除了舊的不支援的 SAPIS 和一些擴充The null coalescing operator (??) 空合并運算子 Combined comparison Operator (<=>) 結合比較子 Return Type Declarations 和C語言等一樣 顯示的傳回值類型Scalar Type Declarations 標量類型定義Anonymous Classes 匿名類!處於好奇的心態我同時安裝了PHP5.5 以及PHP7 RC7 Release,體驗一下 , 於是分別體驗了 PHP7的 效能提升 以及 新文法,至於怎麼安裝配置PHP7相信不用我說了,廢話不多說。
    http://php.net/ php7 RC7 Release官方地址
    https://wiki.php.net/rfc/scalar_type_hints_v5 PHP7 wiki



    1、PHP7與PHP5.5效能對比

    PHP7的效能相對於PHP5.6提高了多少,下面用一個簡單而且傻逼的代碼來測試一下就知道了,這裡我用5.5版本的PHP對比一下吧,電腦上只有5.5了 懶得去安裝PHP5.6。
    如php7和php5.5:

    1.1我這裡用一小段傻逼代碼來測試一下PHP:

    $high)   return ; $begin=$low; $end=$high ; $key=$arr[$begin]; while($begin<$end) {while($begin<$end&&$arr[$end]>=$key)   --$end ;$arr[$begin]=$arr[$end];while($begin<$end&&$arr[$begin]<=$key)  ++$begin;$arr[$end]=$arr[$begin]; }  $arr[$begin]=$key;  QuickSort($arr,$low,$begin-1);  QuickSort($arr,$begin+1,$high);}$time_start = microtime_float();$arr=array();for($i=0;$i

    1.2 測試結果

    分別在PHP7和PHP5.5下運行20000隨機資料 快速排序演算法之後結果 PHP7是PHP5.5的12倍!!!! 看來PHP7開始要雄起了!

    下面分別是PHP7 RC7和 PHP5運行上述快速排序 20000資料演算法的速度。



    2、PHP7新文法體驗

    2.1、標量類型 和強型別

    PHP7新增四個標量類型 int, float, string bool, 首先要使用強型別 必須在檔案中加入指令

  • declare(strict_types=1)該指令必須是第一個指令而且只有一種用法 所謂嚴格類型強型別的概念就是,我們要摒棄PHP5.6之前的若類型觀念,因為我們知道PHP本身一門若類型語言,正因為如此在類型轉換已經類型檢查導致PHP語言本身效能極為低下php7的這一舉動 也證明了這一點,例如下面代碼

    如果把上述代碼改為return 1;才能正常運行,否則運行會報錯,這就是PHP7的強型別約束,此模式下完全摒棄若類型。

    2.2 強型別參數

    var_dump的結果是 int(3)

    2.3 傳回型別衝突

    傳回值類型和強型別約束不同 將跑出異常
    getMessage(); }?>

    OK關於Scalar Type就不一個一個寫了
    更多的介紹請參考:https://wiki.php.net/rfc/scalar_type_hints_v5#php_rfcscalar_type_declarations

    2.4 、關於PHP的 Anonymous Class

    簡單匿名類繼承
    M2()->M1();?>

    簡單的匿名類執行個體化
    i = $i;    }});?>












http://www.bkjia.com/PHPjc/1075799.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1075799.htmlTechArticlePHP7 RC7 Release對比PHP5.6快速排序20000資料效能體驗以及新文法嘗鮮 最近Zend的PHP7已經 處於最後的BUG修複階段,目前 已經更新RC7,對於Zend官方的...

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.