Tests de performance de PHPUnit et couverture de code

Comme il a déjà été dit de nombreuses fois, PHP 7 est plus rapide que PHP 5.

Depuis PHPUnit 4.8 vous pouvez choisir entre  XDebug et phpdbg comme pilote pour récupérer les données de couverture du code, voir PHPUnit 4.8: Code Coverage Support.

Voici quelques résultats de tests de performance.

Tous les tests utilisent PHPUnit 5.0.8, PHP 5.6.15 en SCL ou PHP 7.0.0RC6 en SCL et XDebug 2.4.0beta1 (récemment publié avec quelques correctifs supplémentaires) sur les tests unitaires de composer.

PHP 5 sans couverture de code

$ php56 vendor/bin/phpunit -v
Runtime:       PHP 5.6.15
Time: 4.78 seconds, Memory: 40.25Mb

PHP 7 sans couverture de code

$ php70 vendor/bin/phpunit -v
Runtime:       PHP 7.0.0RC6
Time: 3.37 seconds, Memory: 22.00Mb

Donc PHP 7 est bien plus rapide et permet de gagner 30% de temps d'exécution et 45% de mémoire.

PHP 5 avec couverture de code

$ php56 vendor/bin/phpunit -v
Runtime:       PHP 5.6.15 with Xdebug 2.4.0beta1
Time: 1.89 minutes, Memory: 90.50Mb

PHP 7 avec couverture de code et XDebug

$ php70 vendor/bin/phpunit -v
Runtime:       PHP 7.0.0RC6 with Xdebug 2.4.0beta1
Time: 39.41 seconds, Memory: 52.00Mb

PHP 7 de nouveau vraiment plus rapide (65% de temps, 43% de mémoire)

PHP 7 avec couverture de code et phpdbg

$ php70-phpdbg -qrr vendor/bin/phpunit -v 
Runtime:       PHPDBG 7.0.0RC6
Time: 13.07 seconds, Memory: 92.00Mb

Terriblement plus rapide :) 66% du temps d'exécution économisé comparé à XDebug, et 89% comparé à PHP 5

J'ai remarqué que beaucoup de développeurs n'était pas au courant de cette dernière solution, quel dommage ! J'espère que ce billet vous encouragera à la tester.

 

Vus : 542
Publié par Remi Collet : 73