while (list($key,$value) = each($array)) ou foreach ?
$array['key'] - $array[key]str_replace : plusieurs appels ou avec des tableaux ?file_exists ou is_file ?file_exists ou is_file ?On veut tester l'existence d'un fichier. Quelle fonction est la plus rapide ?
TEST 1 --- file_exists
<?php $a = file_exists('bench.php'); ?>
Durée: 0.07048 s, Vitesse: 1418859 instructions par seconde
TEST 2 --- is_file
<?php $a = is_file('bench.php'); ?>
Durée: 0.0191 s, Vitesse: 5235877 instructions par seconde
Pour simuler le test sur plusieurs fichier, on met un clearstatcache() avant chaque test...
TEST 3 --- file_exists
<?php $a = file_exists('bench.php'); ?>
Durée: 0.07547 s, Vitesse: 1325081 instructions par seconde
TEST 4 --- is_file
<?php $a = is_file('bench.php'); ?>
Durée: 0.10068 s, Vitesse: 993217 instructions par seconde
La différence entre les deux n'est pas énorme au niveau vitesse. is_file
est même parfois plus rapide. Surtout il présente l'avantage de tester l'existence et le
type (est-ce un fichier ? un répertoire ?).
Les tests 3 et 4 simulent le test d'existence de 100 000 fichiers différents.
On fait un essai avec des fichiers qui n'existent pas
TEST 5 --- is_file
<?php $a = is_file($i.'.php'); ?>
Durée: 0.16763 s, Vitesse: 596567 instructions par seconde
L'exécution est un peu plus rapide car PHP ne met pas en mémoire les infos sur le fichiers (infos qui sont supprimées par le clearstatcache).