begin process at 2012 05 27 18:28:04
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Divers

 > SCRIPT GÉNÉRIQUE DE BENCH TESTS

SCRIPT GÉNÉRIQUE DE BENCH TESTS


 Information sur la source

Note :
6 / 10 - par 2 personnes
6,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Divers Niveau :Débutant Date de création :14/02/2005 Date de mise à jour :15/02/2005 03:55:31 Vu :2 002

Auteur : samueldr

Ecrire un message privé
Site perso
Commentaire sur cette source (4)
Ajouter un commentaire et/ou une note

 Description

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

  • <?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 !!';
  • }
  • ?>
<?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 !


 Historique

15 février 2005 03:55:32 :
prise en compte du commentaire de Anthomicro Bien encore, prenez note que mon code n'est pas nécessairement parfait, donc n'hésitez pas à commenter :P

 Sources de la même categorie

Source avec une capture MODULE JOOMLA 1.5 NOW LISTENING par Alcantornet
Source avec Zip Source avec une capture UPLOAD CENTER par basssem81
Source avec Zip COMPTEUR DE CLIQUE PHP AVEC JQUERY par devgoneti
Source avec Zip LIVRE D'OR SIMPLE (POUR DÉBUTANT) par devgoneti
Source avec Zip SCRIPT TRAVAUX POUR VOTRE SITE par FleuryK

Commentaires et avis

Commentaire de Anthomicro le 14/02/2005 08:42:42

Salut ;-)

<br> est à remplacer par <br /> (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 ++

Commentaire de samueldr le 15/02/2005 03:27:27

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 ;)

Commentaire de coucou747 le 15/02/2005 11:44:12 administrateur CS

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)

Commentaire de Anthomicro le 15/02/2005 18:16:42

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 ++

 Ajouter un commentaire




Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,905 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales