Comparaison include / require (once)
Posté : 09 avr. 2011, 23:45
Bonjour à tous,
J'ai lu sur le net que l'utilisation du "_once" était plus coûteux en temps et également que l'appel par include était plus rapide que par require.
Par curiosité, j'ai effectué des tests de mon côté et j'en arrive effectivement au fait qu'un include_once est plus lent qu'un include mais en aucun cas qu'un include est plus rapide qu'un require.
Je me demande donc si mes tests ne sont pas erronés...
Du coup, je voulais savoir si certains d'entre vous avaient déjà effectué des benchmarks entre ces fonctions, sur quelle version d'Apache et de PHP et à ce quels étaient les résultats des tests.
Pour ma part, j'ai utilisé Apache Benchmark et simulé l'inclusion de 2000 fichiers (existants) dans un fichier. J'ai appelé ce fichier 1000 fois en simulant la présence de 5 utilisateurs. J'obtiens les résultats suivants selon l'inclusion utilisée :
- require_once : 205.578 secondes
- include_once : 209.172 secondes
- require : 167.438 secondes
- include : 170.484 secondes
Chaque test est bien entendu fait indépendamment et dans les mêmes conditions (à peu de choses près).
Merci par avance de vos retours
J'ai lu sur le net que l'utilisation du "_once" était plus coûteux en temps et également que l'appel par include était plus rapide que par require.
Par curiosité, j'ai effectué des tests de mon côté et j'en arrive effectivement au fait qu'un include_once est plus lent qu'un include mais en aucun cas qu'un include est plus rapide qu'un require.
Je me demande donc si mes tests ne sont pas erronés...
Du coup, je voulais savoir si certains d'entre vous avaient déjà effectué des benchmarks entre ces fonctions, sur quelle version d'Apache et de PHP et à ce quels étaient les résultats des tests.
Pour ma part, j'ai utilisé Apache Benchmark et simulé l'inclusion de 2000 fichiers (existants) dans un fichier. J'ai appelé ce fichier 1000 fois en simulant la présence de 5 utilisateurs. J'obtiens les résultats suivants selon l'inclusion utilisée :
- require_once : 205.578 secondes
- include_once : 209.172 secondes
- require : 167.438 secondes
- include : 170.484 secondes
Chaque test est bien entendu fait indépendamment et dans les mêmes conditions (à peu de choses près).
Merci par avance de vos retours