Script générique de bench tests

Soyez le premier à donner votre avis sur cette source.

Snippet vu 2 764 fois - Téléchargée 34 fois

Contenu du snippet

héhé, j'avais un peu de temps de libre, et j'ai codé ce script générique de benc test, utile pour boucher certaines personnes à propos du coding. Par exemple, dans le code, je fais la différence entre les simple quotes (') et les double quotes (").
Eh oui, sans surprise, les simple quotes gagnent !!!

Bien sûr, comme dans toutes sources, il y a place à amélioration, si vous pensez à quelquechose de bien à ajouter ou modifier, faites m'en part et je vais le faire si c'est vraiment interssant.

Source / Exemple :


<?php
/**************************************************************************

  • Fichier script générique de bench test.
  • créé pas SamuelDr , mais des variantes peuvent exister sur le net
  • aucun copyright, vu que c'est un script simpliste.
                                                                                                                                                    • /
// Nombre total de fois que le test est testé. $total = 1000; // Variable générique pour tester. $phrase = 'phrase'; // avant de compter quoique ce soit, il faut déclarer toutes les variables $i = 1; // Prends le compte initial du temps. $debut = str_replace(' ','',microtime()); // Fait le while de test, peut être plus ou moins long, mais normalement c'est assez 1000. while ($i <= $total) { // l'action qu'il doit bencher. echo 'Ma '.$phrase.' s\'est affichée '.$i.' fois.<br />'; // augmente la variable pour ne pas entrer dans une boucle infinie $i++; } // Prends le compte final du temps. $fin = str_replace(' ','',microtime()); // compte l'intervalle entre le début et la fin $result1 = $fin-$debut; // fait un echo, peut être 'échoé' différement echo '<br /><br /><br /><strong>:: Simple quotes POINT ::</strong>'.$result1.'<br /><br /><br />'; // Tout pareil $i = 1; $debut = str_replace(' ','',microtime()); while ($i <= $total) { // Sauf qu'ici, c'est la 2eme action à bencher. echo "Ma $phrase s'est affichée $i fois.<br />"; $i++; } $fin = str_replace(' ','',microtime()); $result2 = $fin-$debut; echo '<br /><br /><br /><strong>:: Double quotes ::</strong>'.$result2.'<br /><br /><br />'; // vérification du gagnant // si le 1er résultat est gagnant, donc plus petit if ($result1 < $result2) { // compte la différence en microsecondes entre les 2 benchs. $diff = $result2-$result1; echo '<br /><br />Bench numéro <strong>1</strong> ressort gagnant avec une différence de '.$diff.' microsecondes'; } // si le 2eme résultat est gagnant, donc plus petit elseif ($result2 < $result1) { // compte la différence en microsecondes entre les 2 benchs. $diff = $result1-$result2; echo '<br /><br />Bench numéro <strong>2</strong> ressort gagnant avec une différence de '.$diff.' microsecondes'; } // Si ÉTONNAMENT les 2 benchs sont égaux, il l'Affiche. else { echo 'Étonnament, les 2 benchs sont égaux !!'; } ?>

Conclusion :


bon, tout simplement changer les actions à bencher dans les while.
Il y a toujours moyen de bencher les while contre les for, pour ça, changez un des while en for et mettez les mêmes actions à bencher dans la boucle.

Bien sûr, mon site est toujours au samueldr.com et, pour me contacter, ajoutez samueldr@ au début de l'adresse de mon site ;)

Je prends tous les commentaires, ne soyez >>pas<< indulgent, c'est ma premiere source php :D

Note : si je me suis trompé dans le niveau/catégorie, dites le moi et je corrigerai !

A voir également

Ajouter un commentaire Commentaires
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Avec un eval pourquoi pas http://fr.php.net/manual/fr/function.eval.php

ça le ferai pour faire une fonction comparant plusieurs codes ;-)

a ++
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
t'aurais du le faire sous forme de fonction pouvant comparer plusieurs codes...


C'est ce que j'ai fait, mais j'ai pas publié car ça existait déja, et que qqn m'avait filé l'idée en me demandant de jeter un coup d'oeuil à son code (je suis pas méchant LOL)
Messages postés
121
Date d'inscription
samedi 23 août 2003
Statut
Membre
Dernière intervention
3 juillet 2005

Eh bien, tu as raison, pour être sûr que l'action soit répétée le même nombre de fois pour les deux tests, il serait plus prudent d'utiliser une variable, jupdate ;)
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
9
Salut ;-)


est à remplacer par
(compatibilité XHTML)

Ensuite on peut par exemple mettre le nombre d'itérations à faire dans une variable en haut histoire de ne pas chercher les boucles (bon ok j'avoue je suis flemmard ^^)

a ++

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.