On ne va pas tourner autour du pot… On va aller droit au but… Enfin, dans le code ! Le nouveau keyword de php est vraiment ultra simple à utiliser : Mes classes et traits : MyClass étendue par la classe Base. MyClass utilise les traits math_inc et math_dec Ici, on aurait tout aussi bien pu […]
La grande question… Qu’elle est la méthode la plus rapide pour faire du conditionnel en php. Le test suivant parle de lui même, pour des switch et if simples (avec une seule condition) :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
/** * Test for simple switch **/ $switch_start = microtime(); switch ($_GET) { case 'value 1': # code ... break; case 'value 2': # code ... break; case 'value 3': # code ... break; case 'value 4': # code ... break; case 'value 5': # code ... break; case 'value 6': # code ... break; case 'value 7': # code ... break; default: # code ... break; } $switch_end = microtime(); $switch_time = $switch_end - $switch_start; $switch_time = array_sum( explode( ' ' , $switch_time ) ); /** * Test for simple IF **/ $if_start = microtime(); if ($_GET == 'value 1') { # code... } elseif ($_GET == 'value 2') { # code... } elseif ($_GET == 'value 3') { # code... } elseif ($_GET == 'value 4') { # code... } elseif ($_GET == 'value 5') { # code... } elseif ($_GET == 'value 6') { # code... } elseif ($_GET == 'value 7') { # code... } else { # code... } $if_end = microtime(); $if_time = $if_end - $if_start; $if_time = array_sum( explode( ' ' , $if_time ) ); /** * Display results **/ echo "<pre>"; echo "Switch result =t" . number_format($switch_time, 20) . " sec n"; echo "If result =t" . number_format($if_time, 20) . " sec n"; echo "</pre>"; |
Voici quelques résultats :
1 2 3 4 5 6 7 8 |
Switch result = 0.00000999999999995450 sec If result = 0.00000300000000008630 sec Switch result = 0.00001000000000006600 sec If result = 0.00000300000000008630 sec Switch result = 0.00000900000000003680 sec If result = 0.00000300000000008630 sec |
Cas particulier du Switch (voir la suite)
Je poste ce billet car, n’ayons pas peur des mots, j’ai lu un gros tas de conneries ce matin. Quand on manipule un disque dur NTFS sous Linux, il arrive qu’au retour sur Windows, ce dernier soit vu en format RAW. Un bon 90% du web répond : – Aller dans les paramètre de sécurité […]
Et oui, je suis toujours en activité, je manque juste de temps pour poster ici ! Promis, je me rattrape bientôt !
On me demande souvent à quoi peut ressembler un jeu vidéo en mode “debug”, bien voici un exemple avec Pirates of the Burning Sea. Je tiens à préciser que les images sont très “claires” car j’étais à la recherche d’erreurs de contraste ! Vue “joueur”
“Wire (Direct 3D)”
Il m’arrive de produire des vidéos… Rarement pour le publique, mais en voici une ;) Adobe Photoshop, Adobe Audition, Adobe AfterEffects, Sony Vegas Pro, ArmA2OA, TexView 2
Lexique : GII : Gestion d’Infrastructure Informatique DC : Data-center PRA : Plan de Reprise d’Activité Problématique : C’est une question que je croise souvent… Comment produire un plan de sauvegarde et inclure ce dernier dans le PRA pour limiter les coûts ? Réponse : Il faut prendre en compte différents éléments… Le premier étant la […]
Restaurer un dump MySQL de plusieurs centaines de milliers de lignes peut s’avérer “casse gueule” si on ne prend pas un minimum de précautions… Personnellement, j’applique cette méthode quand j’ai plus de 300k ou 400k lignes à importer… Mais ça dépend aussi si le serveur est suffisamment fiable, la configuration MySQL, si c’est un serveur en prod […]
Quand on reprend la gestion d’un parc et que le prédécesseur ne notait rien (ou qu’on est tout simplement tête en l’air), il arrive que le mot de passe root d’une machine soit malencontreusement égaré à jamais… Mais pas de panique, les problèmes existent pour donner une raison d’être aux solution et voici celle permettant […]