Maison > développement back-end > tutoriel php > 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

伊谢尔伦
Libérer: 2023-03-11 15:20:02
original
2647 Les gens l'ont consulté

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]; 
    } 
}
Copier après la connexion

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
***/
Copier après la connexion

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
***/
Copier après la connexion
➜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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal