Accueil > > > SCRIPT GÉNÉRIQUE DE BENCH TESTS
SCRIPT GÉNÉRIQUE DE BENCH TESTS
Information sur la source
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
Commentaires et avis
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|