par
AB » 28 août 2010, 18:58
Peut-être qu'un de ces 4 j'essayerais de tester; pour voir.
Encore un qui n'est pas surchargé de travail pour s'amuser avec ces broutilles
Les optimisations d'un code ne se situent pas réellement à ce niveau. Il y a bien d'autres choses à faire avant (optimisation du schéma des tables, des requêtes etc.)
Mais cela dit, plutôt que de te poser des questions, autant faire le code pour y répondre, ça t'aurais pris moins de temps
$montableau = array();
$compteur = 0;
$mavaleur = 1;
$time = microtime(true);
for ($i=0; $i<1000000; $i++)
{
$montableau[$compteur] = $mavaleur;
$compteur++;
}
$time_end = microtime(true);
$time_tot = $time_end - $time;
echo 'durée exécution 1 = ' . $time_tot.'<br />';
$montableau = array();
$compteur = 0;
$time = microtime(true);
for ($i=0; $i<1000000; $i++)
{
$montableau[$compteur++] = $mavaleur;
}
$time_end = microtime(true);
$time_tot = $time_end - $time;
echo 'durée exécution 2 = ' . $time_tot.'<br />';
Bon le verdict est sans appel, il faut 1 million d'itérations dans la boucle pour gagner au total 1/100 de seconde avec la solution 2 (moyenne approximative sur plusieurs tests).
A toi de voir mais normalement on essaie de garder un code le plus lisible possible tant que la différence n'est pas sensible pour l'usage courant. Donc à moins que tu fasses couramment des boucles de plusieurs millions d'itérations...
Et puis si tu te pose trop de questions niveau rapidité absolue, tu vas finir par ne plus coder en mode objet car le procédural est généralement plus rapide...