Optimisation de php - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : Optimisation de php (/showthread.php?tid=552) Pages :
1
2
|
RE: Optimisation de php - Plume - 29-12-2006 joshua a écrit :Juste un petit reproche Dämen, le site que tu montres n'affiche pas les graphes depuis 0. Ca peut etre trompeur :p Ca après c'est plus mon problème ^^ RE: Optimisation de php - zzarbi - 12-02-2007 Bon j'ai un petit problème... je veux gérer les langues de la manière la plus optimisé possible, et la plus facile à reprendre pour la traduction... Donc j'énumère les solutions, j'en connais 4 (Mais il y en a d'autres) : 1 - Mettre toutes les chaines de caractères dans un tableau de cette façon, : Code PHP :
2- Mettre toutes les chaines de caractères dans des DEFINE : Code PHP :
3- Utilisder du XML avec simpleXML 4- Utiliser gettext De mon analyse j'élimine le XML plus lourd que les autres à mon avis, surtout si on a beaucoup de texte et le gettext assez chiant à manipulé, mais efficace. Ils nous restent donc le tableau et les define... Et j'ai fait un test d'execution : - 84 mots enregistrés dans un tableau et donc 84 define aussi - affichage directement dans le navigateur via une boucle for qui tourne sur 10000; Et comme résultat, les define obtiennent : 0.0066s et le tableau obtient 0.0477s, donc les define sont plus rapide, mais j'arrive quand même pas à me décider... Pourriez-vous me donner un avis ? Pas forcément sur l'efficacité, mais sur le mieux à utiliser, le plus pratique RE: Optimisation de php - gtsoul - 13-02-2007 Il faut arrêter de fantasmer sur l'optimisation de telle ou telle fonction !! C'est du gagne-petit, alors qu'il y a beaucoup plus à faire sur la reconception de ses algorithmes. Le xml est plus lent d'accès, qu'une bdd, qu'une définition de variable, et c'est encore plus lent si tu dois le modifier. Les xml s'utilisent pour ramasser beaucoup d'infos d'un coup en prenant le fichier entier, ex : caractériser des comportements de pnj. Le define sert à définir des CONSTANTES les tableaux de variables contiennent des VARIABLES Si tu as 84 mots qui restent les mêmes pour tous les joueurs => define Si ils sont 100% dynamiques => variables & bdd Si tu peux en sortir un nombre fini d'ensembles (les mots sont les mêmes pour chaque peuple, il y a 5 peuples) => xml RE: Optimisation de php - zzarbi - 13-02-2007 C'est ptet du "gagne-petit", mais imaginons que je gère les langues via XML, et que j'ai énormement de texte, juste le fait de parser le XML, je prend déja beaucoup trop de mémoire... certes on le fait qu'une fois ensuite on le stock dans des variables (Pour Sg-univers si on fesait ça je suis sûr que le serveur patinerai bien...) Enfin bref, là le but est de savoir même si il ya une différence que de qqe milliseconde sur une boucle de 10000, si c'est plus pratique d'utiliser des define qu'un tableau de variables, à mon avis c'est plus propre d'utiliser un tableau de variable... Dans mon cas ça serait plutôt quelques centaines de lignes de texte ^^ RE: Optimisation de php - Seren - 13-02-2007 zzarbi a écrit :C'est ptet du "gagne-petit", mais imaginons que je gère les langues via XML, et que j'ai énormement de texte, juste le fait de parser le XML, je prend déja beaucoup trop de mémoire... certes on le fait qu'une fois ensuite on le stock dans des variables (Pour Sg-univers si on fesait ça je suis sûr que le serveur patinerai bien...) ça dépend ce que tu vas faire avec. Si tu es sûr que ton texte restera constant et ne sera jamais modifié, tu peux utiliser define. Par contre si tu veux manipuler ton texte, le tableau te permet de garder le résultat. Par exemple si sur chaque page tu affiches "Personnage : John doe" ou "Character : John Doe", plutôt que de refaire à chaque fois $lang[perso].$name tu peux le faire une seule fois et stocker le résultat dans le tableau*, genre $lang[perso] .= $name. Et si tu utilises ce genre de technique plusieurs fois tu vas t'éviter des concaténations. Et à ce moment là c'est pas sûr que le "define" soit meilleur que le tableau. Tout dépend de l'utilisation. (* : ça suppose quand même que ton tableau est gardé en $_SESSION ou dans un $_COOKIE.) Petit apparté sur les temps de chargement: (Mais effectivement ça change rien au niveau de la charge du serveur...) Pour une image qui fait 15k avec un modem 28,8 : 520 ms 15k avec ADSL 512 : 30 ms 15k avec ADSL 2 Mo : 7,5 ms 10k avec un modem 28,8 : 350 ms 10k avec ADSL 512 : 20 ms 10k avec ADSL 2 Mo : 5 ms Tout ça pour dire que si tu veux vraiment gratter quelques milliseconde t'as plutôt intéret par comment à afficher des images, icônes, plus légères. RE: Optimisation de php - zzarbi - 13-02-2007 Je veux gratter des millisecondes sur la charge du serveur mémoire/proc, la bande passante pour moi a toujours été secondaire, surtout avec le cache de nos navigateurs... Mais merci pour l'idée du tableau, ça peut être utile... |