leflos5 On est ou on est pas :) | The-Shadow a écrit :
Listing 1 : Ta solution plus rapide, sauvegarde du texte html dans une variable.
Code :
- <?php
- ob_start();
- function getmicrotime(){
- list($usec, $sec) = explode(" ", microtime());
- return ((float)$usec + (float)$sec);
- }
- $time1=getmicrotime();
- $variable=' = toto fait du ski';
- $texte='';
- for ($i=0;$i<200;$i++) {
- $texte.='Je fais un test'.$variable.'<br />';
- for ($l=0;$l<500;$l++) {
- if ($l%200) { $texte.=' 200 '; }
- }
- }
- echo $texte;
- echo '<hr />'.substr(getmicrotime()-$time1,0,8);
- ?>
|
Listing 2:Ma solution plus rapide, inclusion directe du HTML.
Code :
- <?php
- ob_start();
- function getmicrotime(){
- list($usec, $sec) = explode(" ", microtime());
- return ((float)$usec + (float)$sec);
- }
- $time1=getmicrotime();
- $variable=' = toto fait du ski';
- for ($i=0;$i<200;$i++) { ?>
- Je fais un test <?php echo $variable; ?><br />
- <?php
- for ($l=0;$l<500;$l++) {
- if ($l%200) { ?> 200 <?php }
- }
- }
- echo '<hr />'.substr(getmicrotime()-$time1,0,8);
- ?>
|
Bench 1, solution 1 : http://orolam.online.fr/hfr/test/bench.php
Bench 2, solution 2 : http://orolam.online.fr/hfr/test/bench2.php
Voilà, testé sur 3 serveurs différents, le résultat est sans appel, TA super solution est 2 fois plus lente que la mienne en temps de génération, pour quelqu'un qui a soit disant testé en situation, je me demande bien sur quoi.
Tu vas me dire "Ouai gnignin, tu bufferises", bah oui, j'ai jamais dit le contraire, mais c'était pas ça le problème, c'était enregistrement d'une chaine plutot qu'inclusion d'HTML, là, c'est clair, t'as qu'à transférer les benchs sur tes propres serveurs tu verras.
|
Mais c'est grave là, faut apprendre à lire
Je te parle pas que de chaine seule, j'ai dit qu'avec un tampon ça marche mieux...
Maintenant faut aussi prendre en compte la machine comme la connexion
Si t'as une brêle avec de la RAM à plus en pouvoir pour le truc, le facteur limitant est pas la RAM.
Si t'as une bête course mais pas de RAM bah vaut mieux calculer que stocker.
Si t'as 128Kb en emmision mieux vaut cacher.
Bref si tu te tires les mamellons sur des machines n'ayant aucune de ces contraintes (cpu, Ram, émission) oui continues à te caresser sans te remettre en cause Apprends juste à lire et rajoutes moi un traitement entre les chaines (pas un autre echo hein )
Mais si tu testes sur un serveur pas limité en perf mais avec un upload plus que le donwload du client c'est la cata...
M'enfin l'adolescence n'a pas de limite d'âge que celle où on arrête de se tirer sur la queue pour l'allonger
Murphy et la confiture aident parfois aussi à comprendre J'ai donné un ca particulier, expliqué si tu sais pas lire parce que Môsieu est un grand de la cat php, j'abdique Amen, Alleluia MAis si au passage Môsieur n'a pas une formation sientifique éprouvée, je lui déconseille de faire des stats vu qu'apparement il sait pas isoler les paramètres
Mais je parlais d'envois sans tampon (parle français moi, je bufferise pas je tamponne ) donc si tu me fais ton teste qu'avec des tampons... La rigueur SVP, la rigueur...
Edit: au cas où, je parle pas de gagner 0.2s mais en perdre 10 (de secondes ) Et puisque Môsieur bosse qu'avec des connexion de fou, dès que je peux (physiquement parlant) je te montre ce que ça donne parce qu'Apache c'est caca prout pour moi je sais pas comment limiter la BP (si c'est possible) et je veux même pas savoir )
Message édité par leflos5 le 12-12-2005 à 04:20:50
|