Maison  >  Article  >  développement back-end  >  Explication détaillée d'exemples de code de test de performances simples pour php7

Explication détaillée d'exemples de code de test de performances simples pour php7

伊谢尔伦
伊谢尔伦original
2017-06-27 10:14:122572parcourir

Version de test :

Ancienne version PHP 5.5.29, nouvelle version PHP 7.0.0

Méthode de test :

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(&#39;b&#39;,&#39;kb&#39;,&#39;mb&#39;,&#39;gb&#39;,&#39;tb&#39;,&#39;pb&#39;); 
        return @round($size/pow(1024,($i=floor(log($size,1024)))),2).&#39; &#39;.$unit[$i]; 
    } 
}

1. un million de tableaux et interrogez 500 000 fois si la clé existe

$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
***/

Les résultats du test sont les suivants :

➜ time php test.php

php test.php

0,60s utilisateur

0,05s système

98% cpu

0,667 total

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

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

0,05s utilisateur

0,02s système

92% cpu

0,073 au total

PHP7 est 9 fois plus rapide que PHP5.5

2 Générez un demi-million de tableaux et interrogez un demi-million de fois si la valeur existe

<.>
$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
***/
➜temps php test.php

php test.php

utilisateur 0,79s

système 0,01s

99% cpu

0,809 total

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

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

0,08s utilisateur

0,01s système

97% cpu

0,091 total

PHP7 est 8,7 fois plus rapide que PHP5.5

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn