par
Saian » 15 avr. 2015, 16:48
A priori entre appelé 1 fois la fonction et l'appeler 23000 fois y aura forcément un impact. Sinon en regardant vite fait certains semblent dire que readdir est plus rapide. En tout cas le plus simple est de tester pour voir, ça ne demande pas une grosse refonte du code, suffit juste de stocker le retour dans un propriété et si la propriété est renseignée l'utiliser au lieu de refaire le scandir.
Et je pense que scandir et typiquement le genre de fonction gourmande en ressource (lire un répertoire de 2000 fichiers 23000 fois c'est forcément lourd, à moins qu'il y ait un système de cache magique ^^).
EDIT : et éventuellement, fait un rename plutôt qu'un copy et un unlink et tu seras au top de l'optimisation (le déplacement du fichier sera beaucoup plus rapide que la copie/suppression).
A priori entre appelé 1 fois la fonction et l'appeler 23000 fois y aura forcément un impact. Sinon en regardant vite fait certains semblent dire que readdir est plus rapide. En tout cas le plus simple est de tester pour voir, ça ne demande pas une grosse refonte du code, suffit juste de stocker le retour dans un propriété et si la propriété est renseignée l'utiliser au lieu de refaire le scandir.
Et je pense que scandir et typiquement le genre de fonction gourmande en ressource (lire un répertoire de 2000 fichiers 23000 fois c'est forcément lourd, à moins qu'il y ait un système de cache magique ^^).
EDIT : et éventuellement, fait un rename plutôt qu'un copy et un unlink et tu seras au top de l'optimisation (le déplacement du fichier sera beaucoup plus rapide que la copie/suppression).