Réalisez vos benchmarks de code PHP avec PHPBench

Cet article a été publié depuis plus de 6 mois, cela signifie que le contenu peut ne plus être d'actualité.

Pour mes besoins personnels, je souhaitais tester du code PHP et obtenir certaines données sur l'exécution de ce dernier (temps d'exécution, mémoire consommée, ...) sans pour autant sortir l'artillerie lourde. En effectuant quelques recherches, j'ai alors découvert PHPBench qui comme son nom l'indique est un framework de benchmark PHP.

PHPBench permet de réaliser simplement des benchmarks sur du code PHP. Il permet de standardiser l'écriture du code et génère des rapports permettant de comparer différents cas d'utilisation.

Le framework vous propose d'écrire vos benchmarks un peu comme vous écririez un test PHPUnit. Vous allez ainsi commencer par écrire une classe contenant le code que vous souhaitez mesurer.

<?php

namespace Acme;

class TimeConsumer
{
    public function consume()
    {
        usleep(100);
    }
}

Puis le code permettant d'effectuer la mesure:

<?php

use Acme\TimeConsumer;

class TimeConsumerBench
{
    public function benchConsume()
    {
       $consumer = new TimeConsumer();
       $consumer->consume();
    }
}

Il ne restera plus qu'à exécuter le benchmark au travers de la commande : vendor/bin/phpbench run benchmarks --report=default.

Pour plus d'informations et pour découvrir les nombreuses fonctionnalités offertes par l'outil, consultez la documentation officielle.