Eléphant du PHP |
256 Messages
18 nov. 2010, 10:30
Bonjour,
Oui, Ab, j'ai suivi ta remarque. Les résultats des tests sont plus intéressants...
$var1 = 'lundi';
$var2 = 'mardi';
$var3 = 'jeudi';
... $chaine = '<div><p>du texte et encore du texte '.$var1.' <a href ="'.$var2.'" >'.$var2.'</a> et puis du texte et encore du texte '.$var3.' </p></div>';
// 4.1067469120026 secondes
$chaine = "<div><p>du texte et encore du texte ".$var1." <a href =".$var2." >".$var2."</a> et puis du texte et encore du texte ".$var3." </p></div>";
// 4.1809959411621 secondes
$chaine = <<<EOD
<div><p>du texte et encore du texte $var1 <a href = $var2>$var2</a> et puis du texte et encore du texte $var3.</p></div>
EOD;
// 4.3892140388489 secondes
Donc, j'ai l'impression que, sur trois millions d'itérations, la différence n'est pas si importante...
Néanmoins, une remarque et une question...
- le résultat des traitements fluctue d'un moment à l'autre, mais la différence est conservée ;
- y-a-t-il un effet "mémoire" du Parseur, qui mettrait plus de temps à effectuer la première itération que les suivantes (je pourrai tester avec deux itérations, mais je ne suis pas certain que le temps soit mesurable) ?
Edit...
Pour 1, 2, 3, 4 itérations avec la syntaxe heredoc, j'obtiens :
- 2.0980834960938E-5 seconde
2.5033950805664E-5 seconde
2.9087066650391E-5 seconde
3.0994415283203E-5 seconde
Autrement dit, la différence est quasiment la même itération par itération. Il y a juste un temps de latence au début du traitement, qui est incompressible.
Merci.
Cordialement,
Gaspard