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;$i1.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官方的...