Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1584 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Fonction include plus rapide qu'un bout de code dans la page ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Fonction include plus rapide qu'un bout de code dans la page ?

n°1601518
snp
quand on sait pas, on se tait
Posté le 21-08-2007 à 08:45:25  profilanswer
 

Bonjour,
j'aimerais savoir si le fait de mettre des include contenant du code PHP (accès BD, requete et tout le toutim) dans ma page pricipale ralentit l'affichage de cette dernière ?
 
Vous faites comment vous ? Des includes ou alors vous écrivez tout en dur sur la même page ?
 
Merci pour votre retour d'expérience

mood
Publicité
Posté le 21-08-2007 à 08:45:25  profilanswer
 

n°1601626
omega2
Posté le 21-08-2007 à 10:37:19  profilanswer
 

Un include exécuté sera toujours plus long que d'avoir déjà le code dans le fichier principal mais la différence de temps d'exécution est vraiment négligeable tant qu'on en abuse pas.

n°1601636
e-deby
Posté le 21-08-2007 à 11:04:34  profilanswer
 

y'a des fois faut arreter de rechercher uniquement la performance à tout prix. C'est completement et totalement négligeable (sauf cas particulier bien sur, si tu inclus un fichiers via ftp sur du RTC par exemple).

 


La question à se poser est plutot "comment bien segmenter mon code, bien le construire pour que ca soit simple pour moi de m'y retrouver, voir pour les autres si ils doivent y toucher" plutot que "comment gagner 0.000001s de temps de génération dont tout le monde se contrefout completement"


Message édité par e-deby le 21-08-2007 à 11:04:43
n°1601675
leflos5
On est ou on est pas :)
Posté le 21-08-2007 à 13:04:12  profilanswer
 

Moi je trouve que vous avez une notion du négligeable qui n'est pas la même que la mienne.
 
Le temps d'éxécution va dépendre de la taille du code mais quand on commence à tout déporter dans des fichiers et qu'on se retrouve avec de l'include dans un fichier inclus, qu'on a 5 fichiers inclus dans l'index, bah on commence à voir une bonne différence.
 
Néanmoins je suis totalement d'accord que parfois il faut privilégié la logique, la lisibilité.
 
Ma conclusion: tout ce qui est utilisé à coup sûr (peut être à l'exception d'un fichier de config) autant le balancer dans un fichier unique.
 
Par contre je me base sur ma façon de faire: un point d'entrée unique, c'est vrai que si c'est pour faire du doublon de code, autant inclure mais là il faudrait se poser d'autres questions avant ;)

n°1601681
e-deby
Posté le 21-08-2007 à 13:24:00  profilanswer
 

leflos5 a écrit :

Moi je trouve que vous avez une notion du négligeable qui n'est pas la même que la mienne.
 
Le temps d'éxécution va dépendre de la taille du code mais quand on commence à tout déporter dans des fichiers et qu'on se retrouve avec de l'include dans un fichier inclus, qu'on a 5 fichiers inclus dans l'index, bah on commence à voir une bonne différence.

Néanmoins je suis totalement d'accord que parfois il faut privilégié la logique, la lisibilité.
 
Ma conclusion: tout ce qui est utilisé à coup sûr (peut être à l'exception d'un fichier de config) autant le balancer dans un fichier unique.
 
Par contre je me base sur ma façon de faire: un point d'entrée unique, c'est vrai que si c'est pour faire du doublon de code, autant inclure mais là il faudrait se poser d'autres questions avant ;)


 
Alors ca je demande des bench à l'appui, et de temps d'éxécution, et de charge systeme car je n'y crois pas une seule seconde. D'autant plus qu'aujourd'hui existent un paquet d'optimiseurs très efficace sur le marché qui justement se servent des include pour fonctionner

n°1601722
omega2
Posté le 21-08-2007 à 14:38:37  profilanswer
 

leflos5 a écrit :

Moi je trouve que vous avez une notion du négligeable qui n'est pas la même que la mienne.
 
Le temps d'éxécution va dépendre de la taille du code mais quand on commence à tout déporter dans des fichiers et qu'on se retrouve avec de l'include dans un fichier inclus, qu'on a 5 fichiers inclus dans l'index, bah on commence à voir une bonne différence.

Quel disque dur et qu'elle monté en charge?
Pour moi quelques centième de milliseconde de plus ou de moins ne représente pas une grosse différence. Evidement, la différence se sentir beaucoup plus vite avec des disques dur de portable qui tournent à 4200 RPM.

n°1601958
leflos5
On est ou on est pas :)
Posté le 21-08-2007 à 22:56:14  profilanswer
 

C'est peut être ça alors...
 
Celà dit je parlais plutot en terme de centième voir dizième de seconde. Passer de 0,010 à 0,050 par exemple et bah ça fait un facteur 5 et donc un peu un e augmentation de 400%.
 
Certes c'est peut être pas grand chose, mais imaginez sur un site en charge ça soulagerait pas mal ;)
 
C'est le même débat que le double/simple quote, à l'échelle atomique ça change rien en soi, à l'échelle de centaines/milliers d'utilisateurs le serveur vous permettra d'avoir plus de connexions possible (avant de changer pour une machine plus puissante) en codant simplement logiquement: une chaine est une chaine, un chaine qui doit être interprêtée est une chaine qui doit être interprêtée.
 
De même un fichier qui est inclu systématiquement n'a pas forcément sa place à part, si la logique de l'ensemble est correcte, quoi de surprenant d'avoir plusieurs classes qui servent en même temps dans un but unique dans le même fichier?
 
La microoptimisation c'est un terme inventé par ceux qui en ont rien à battre de coder proprement, y'a pas de petits profits même en développement.
 
Vous avez déjà regardé la différence entre un isset() et un is_* en fonction du type? JE trouve ça impressionnant, surtout quand y'en a 60 dans une exécution :) Alors on rajoute les double quote qui servent à rien, les includes évitables, les variables non initialisées/pas au bon type et on passe de 0,050 à 0,150. Tripler c'est pas négligeable pour moi.
 
 
J'admets que le matériel compte mais j'ai un portable qui se traine avec des valeurs oscillantes, et un serveur qui tourne très bien avec des valeurs fixes et beaucoup plus basses. Je me fie aux valeurs du serveur (Athlon 3200+ avec 1 Go de ram à 333Mhz et deux disques à 7200tr avec 8 et 16 Mo de cache un pour le système l'autre pour le reste dont php et les scripts)

n°1602024
e-deby
Posté le 22-08-2007 à 02:57:22  profilanswer
 

ba ensuite c'est un débat, mais c'est clair que pour moi coder proprement c'est d'abord coder avec une logique conceptuelle, et certainement pas une logique de microoptimisation de code.
Pour les bench je demande à voir des valeurs précises car je doute que faire des include, meme une vaingtaine, prenne 0.1s sur une achine digne de ce nom ou crée un surplus significatif en charge

n°1602104
snp
quand on sait pas, on se tait
Posté le 22-08-2007 à 10:10:44  profilanswer
 

OK pour vos réponses et merci.
J'en prends bonne note.

n°1602644
leflos5
On est ou on est pas :)
Posté le 23-08-2007 à 00:25:02  profilanswer
 

Donc coder avec la logique conceptuelle associée au langage en question fait que tu codes dans le sens de l'optimisation CQFD
 
Donc pas de "c"."h"."a"."i"."n"."e" par exemple mais un 'chaine'. C'est pas de la micro-optimisation c'est du bon sens, si bon sens il y a on doit pas parler de micro-optimisation :spamafote:

mood
Publicité
Posté le 23-08-2007 à 00:25:02  profilanswer
 

n°1602646
leflos5
On est ou on est pas :)
Posté le 23-08-2007 à 00:32:34  profilanswer
 

Donc faire des includes tu peux y aller, mais fais pas 20 includes pour le plaisir de séparer des choses pour te pallucher sur la lisibilité de tes fichiers de 50 lignes alors que ça devrai aller ensemble ;)

 

C'est comme pour tout en php: faut garder en tête que c'est de l'interprêté (sauf si d'ailleurs tu utilises un cache d'opcode mais j'en ai toujours pas trouver un simple d'utilisation en dehors du code lui même et sans contraintes monumentale et gratuit :D et c'est dommage) donc la lourdeur tu te la tapes à chaque page demandée (faire un script lourd pour des besoins d'admin c'est rien, mais pour les visiteurs tant que la machine tient c'est bon mais pourquoi pas faire tenir plus de visiteur sur la même machine tel est mon point de vue ;) )


Message édité par leflos5 le 23-08-2007 à 00:33:40

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Fonction include plus rapide qu'un bout de code dans la page ?

 

Sujets relatifs
Include php et problème menu déroulantFormulaire GET dans fichier PHP
[ Conseil] Coder un site en PHPOuvrir un fichier HTML en fin de page
[Résolu] Expirer la cache au niveau de la pageacces restreint par mail et mot de passe : pb dans mon code! help!
Développement web "rapide", ça existe vraiment ?Grouper en fonction d'une partie de champ datetime
executer une page php sans rien afficher[PHP] Lire un répertoire UTF-8
Plus de sujets relatifs à : [PHP] Fonction include plus rapide qu'un bout de code dans la page ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR