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

  FORUM HardWare.fr
  Programmation
  PHP

  Plusieurs variables ou un tableau? (Performances)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Plusieurs variables ou un tableau? (Performances)

n°2292492
yrom
Posté le 23-11-2016 à 13:10:51  profilanswer
 

Bonjour,
Je travaille sur un site dont je dois optimiser les performances, je suis en train de mettre en place une traduction je dois donc faire en sorte que le site s'adapte pour chaque langue j'ai donc fait un fichier pour chaque langue ou je stocke certaines données variable selon la langue demandée.
J'hésite entre faire $variable1="Blabla" $variable2="Blablabla" ou un tableau $tab["1"]="Blabla" $tab["2"]="Blablabla".
La question est vraiment de voir ce qui sera le plus rapide à exécuter sachant que le site est déjà assez lourd même quelques MS comptent...
Merci d'avance :)


Message édité par yrom le 23-11-2016 à 14:13:21
mood
Publicité
Posté le 23-11-2016 à 13:10:51  profilanswer
 

n°2292494
rufo
Pas me confondre avec Lycos!
Posté le 23-11-2016 à 13:39:05  profilanswer
 

La réponse m'intéresse aussi. Perso, j'ai fait jusqu'à présent une variable par message et un fichier de traduction par langue.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2292594
MaybeEijOr​Not
but someone at least
Posté le 23-11-2016 à 22:07:00  profilanswer
 

Perso j'ai toujours utilisé un tableau-fichier par langue sans trop me poser de question. L'avantage c'est d'apporter de la lisibilité au code je trouve (bon après avec des préfixes dans le nom des vars on arrive sensiblement à la même chose).
Après niveau perf, je ne vois pas ce qui pourrait rendre un tableau plus rapide, donc je pencherai vers la variable simple. Mais le gain doit vraiment être négligeable.
Tu peux peut-être aussi passer par des paramètres plutôt que des variables.
 
Mais dans tous les cas je ne pense pas que tu puisses gagner 1 ms.


Message édité par MaybeEijOrNot le 23-11-2016 à 22:07:55

---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.
n°2292595
rufo
Pas me confondre avec Lycos!
Posté le 24-11-2016 à 00:02:55  profilanswer
 

C'est un peu mon sentiment que les 2 systèmes, correctement employés, sont équivalent en terme de lisibilité et perfs :/
 
Moi, je fais généralement, pour le nommage de mes variables de langue :
$LANG_MODULE_PAGE_LABELDUMSG = "mon message";
 
Pour les items de menus, je fais :  
$LANG_TYPEMENU_MENU_LABELITEM = "Mon item";
 
TYPEMENU est soit "PRINCIPAL" soit "CONTEXTUEL".


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2292609
B4X
Golden boy.
Posté le 24-11-2016 à 07:30:09  profilanswer
 

je doute que les perfs varient significativement.
pour indenter, vaut-il mieux tabuler ou espacer? pour les strings: double ou simple quotes? etc.
il faudrait benchmarker sur des très très (très) gros volumes et faire une moyenne. tu aura peut-être un delta de 1ms sur ce volume, mais il faudra encore prouver que c'est corrélé (t'as plein de process sur un serveur web qui font qu'à un temps T1 le temps d'execution sera different à T2 pour un code rigoureusement identique).
perso j'utilise des tableaux (associatifs).


---------------
In vanitas veritas.
n°2292628
rufo
Pas me confondre avec Lycos!
Posté le 24-11-2016 à 10:03:59  profilanswer
 

En php, les strings avec doubles ou simples quotes n'ont pas la même utilisation. Dans des doubles quotes, si tu mets une variable, celle-ci sera remplacée par son contenu, ce qui n'est pas le cas dans des simples quotes.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Cantine Calandreta : http://sourceforge.net/projects/canteen-calandreta
n°2292656
B4X
Golden boy.
Posté le 24-11-2016 à 13:26:20  profilanswer
 

justement, la question de notre ami me rappellait celle d'un autre qui souhaitait savoir s'il vaut mieux utiliser des simple quotes et concatener les variables, ou utiliser des doubles quotes avec les variables "dedans" la string.


---------------
In vanitas veritas.
n°2292659
yrom
Posté le 24-11-2016 à 13:52:38  profilanswer
 

Pour les simples ou doubles quotes j'ai lu qu'il valait mieux utiliser des simples si on ne compte pas utiliser de variables dedans, parce que avec des doubles php va chercher si il y a une variable dedans.
Pour ce qui est de ma question de départ je pense utiliser un tableau je trouve ça plus lisible.

n°2292689
Moumoule
Posté le 24-11-2016 à 22:00:26  profilanswer
 

Pour répondre juste à ta question sans prendre en considération le reste (consommation mémoire, lisibilité,  etc ...), accéder à une variable est plus rapide qu'accéder à une donnée dans un tableau.

n°2292739
PierreC
Posté le 25-11-2016 à 14:00:11  profilanswer
 

Simple quot est plus rapide que double quot.  
 
Mais de manière général la best practice pour faire de la traduction c'est normalementd'utiliser gettext : http://php.net/manual/fr/intro.gettext.php
 
Coté performance avec un volume de données important cela doit se ressentir, car gettext utilise des formats de fichiers intégrant une indexations. En effet quand tu auras 5000 mots traduit le tableau php risque de souffrir un peu.
 
Renseigne toi aussi sur xdebug et cachegrind, cela va te permettre d'auditer les performances de ton site et les les goulots d’étranglement.


---------------
Du tofu en Alsace : www.tofuhong.com

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

  Plusieurs variables ou un tableau? (Performances)

 

Sujets relatifs
Tableau de couleur phpCreer un bouton macro plusieurs feuilles d'un classeur
offset de plusieurs elementsfusions de plusieurs lignes dans différentes colonnes
Afficher plusieurs lignes sur une seuleSelect avec variable contenant plusieurs valeurs
Affichage bouton dans un tableau ![VBA] Problème avec tableau
Affichier plusieurs URL à la suite dans une même pageInterface Swing à partir d'un tableau 2D (jeu)
Plus de sujets relatifs à : Plusieurs variables ou un tableau? (Performances)



Copyright © 1997-2016 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR