Voici un petit benchmark entre les simples quotes et les doubles quotes :
Le script du test :
$result[0] = 0;
$result[1] = 0;
$result[2] = 0;for($j=0;$j<10;$j++)
{
$time_start = microtime(true);
for ($i=0; $i<100; $i++)
{
echo "Ligne n°$i Ceci n'est qu'un test de la fonction echo (Ligne suivante : ".($i+1).").";
}
$time_end = microtime(true);
$time100 = $time_end - $time_start;$time_start = microtime(true);
for ($i=0; $i<1000; $i++)
{
echo "Ligne n°$i Ceci n'est qu'un test de la fonction echo (Ligne suivante : ".($i+1).").";
}
$time_end = microtime(true);
$time1000 = $time_end - $time_start;$time_start = microtime(true);
for ($i=0; $i<10000; $i++)
{
echo "Ligne n°$i Ceci n'est qu'un test de la fonction echo (Ligne suivante : ".($i+1).").";
}
$time_end = microtime(true);
$time10000 = $time_end - $time_start;$result[0] += $time100;
$result[1] += $time1000;
$result[2] += $time10000;
}
?>
Si vous voulez tester ce script, n’oubliez pas de changer l’echo pour vos différents tests.
Explication du bench
Je test le temps d’affichage de 100, 1000 et 1000 lignes d’un même echo et cela 10 fois de suite.
Je fais la moyenne et j’affiche le résultat en fin de page.
Les résultats suivant la ligne echo
SimpleQuote :
echo 'Ligne n°'.$i.'Ceci n\'est qu\'un test de la fonction echo (Ligne suivante : '.($i+1).').';
- Pour 100 : 0.000300741195679
- Pour 1000 : 0.00309181213379
- Pour 10000 : 0.128739762306
echo 'Ligne n°'.$i.'Ceci n\'est qu\'un test de la fonction echo (Ligne suivante : '.$i.').';
- Pour 100 : 0.00029091835022
- Pour 1000 : 0.00303659439087
- Pour 10000 : 0.110526704788
DoubleQuote:
echo "Ligne n°$i Ceci n'est qu'un test de la fonction echo (Ligne suivante : ".($i+1).").";
- Pour 100 : 0.000669050216675
- Pour 1000 : 0.00685069561005
- Pour 10000 : 0.163786029816
echo "Ligne n°$i Ceci n'est qu'un test de la fonction echo (Ligne suivante : $i).";
- Pour 100 : 0.000647711753845
- Pour 1000 : 0.0067539691925
- Pour 10000 : 0.131811594963
Conclusion
Les simples quotes l’emporte haut la main.
Je réaliserais d’autre bench prochainement.

