php7簡單效能測試代碼執行個體詳解

來源:互聯網
上載者:User
測試版本:

舊版 PHP 5.5.29 ,新版 PHP 7.0.0

測試方法:

class PerformanceTest{    private $time;    private $memory;    public function begin()    {        $this->time = $this->getTime();        $this->memory = $this->getMemory();    }    public function end()    {        $this->time   = $this->getTime()   - $this->time;        $this->time   = round($this->time,7);//在這裡才能格式化時間        $this->memory = $this->getMemory() - $this->memory;        $this->memory = $this->convert($this->memory);        echo "time:{$this->time}秒<br />";        echo "memory:{$this->memory}<br />";    }         public function getTime()     {          list($usec, $sec) = explode(" ", microtime());        return ((float)$usec + (float)$sec);    }    public function getMemory()    {        return memory_get_usage();    }    public function convert($size)    {         $unit=array('b','kb','mb','gb','tb','pb');         return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unit[$i];     } }

1.產生五十萬個數組,並查詢五十萬次 key 是否存在

$a = array();$b = new PerformanceTest();$b->begin();for($i=0;$i<500000;$i++){$a[$i] = $i;}foreach($a as $i){array_key_exists($i, $a);}$b->end();/***  php 5.5n  time:0.131秒  memory:40.15 mb  php 7.0n  time:0.0780001秒  memory:14 mb***/

測試結果如下:

➜ time php test.php

php test.php

0.60s user

0.05s system

98% cpu

0.667 total

➜ time /usr/local/php7/bin/php test.php

/usr/local/php7/bin/php test.php

0.05s user

0.02s system

92% cpu

0.073 total

PHP7 速度是 PHP5.5 的 9 倍

2. 產生五十萬個數組,並查詢五十萬次 value 是否存在

$a = array();$b = new PerformanceTest();$b->begin();for($i=0;$i<10000;$i++){$a[$i] = $i;}foreach($a as $i){in_array($i, $a);}$b->end();/***  php 5.5n  time:0.6560001秒  memory:845.49 kb  php 7.0n  time:0.095秒  memory:388 kb***/

➜ time php test.php

php test.php

0.79s user

0.01s system

99% cpu

0.809 total

➜ time /usr/local/php7/bin/php test.php

/usr/local/php7/bin/php test.php

0.08s user

0.01s system

97% cpu

0.091 total

PHP7 速度是 PHP5.5 的 8.7 倍

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.