Nouveau sujet Répondre Imprimer Syndication RSS 2.0

[corrigé][Optimisation]fsb2 v. svn80 - caclul inutile des get_url

Equipe des MODS
Avatar de Grummfy
  • Age : 25 ans
  • Messages : 5989
  • Inscrit : 16 Septembre 2004
Message édité 1 fois, dernière édition par Grummfy, 28 Juillet 2009, 1:55     Lien vers ce message 12 Janvier 2009, 23:10
Hello,
petit optimisation sur la version svn révision 80 de fsb2,

dans le fichier index.php,
trouver (ligne 241 -> 268)
		// On recupere les donnees GET de la page
		$get_url = '&redirect=' . $this->frame_page;
		foreach ($_GET AS $key => $value)
		{
			if (!in_array($key, array('p', 'sid', 'redirect')))
			{
				if (is_array($value))
				{
					foreach ($value AS $subvalue)
					{
						if (preg_match('#^[a-z0-9_\-]*?$#i', $subvalue))
						{
							$get_url .= '&' . $key . '[]=' . $subvalue;
						}
					}
				}
				else if (preg_match('#^[a-z0-9_\-]*?$#i', $value))
				{
					$get_url .= '&' . $key . '=' . $value;
				}
			}
		}

		// On peut desactiver la recuperation automatique des donnees GET, avec la propriete $frame_get_url = false
		if (!$this->frame_get_url)
		{
			$get_url = '';
		}

et remplacer par (ou par autre chose c'est de l'optimisation en veux-tu en voila ...)
// On peut desactiver la recuperation automatique des donnees GET, avec la propriete $frame_get_url = false
		if (!$this->frame_get_url)
		{
			$get_url = '';
		}
		else
		{
			// On recupere les donnees GET de la page
			$get_url = '&redirect=' . $this->frame_page;
			foreach ($_GET AS $key => $value)
			{
				if (!in_array($key, array('p', 'sid', 'redirect')))
				{
					if (is_array($value))
					{
						foreach ($value AS $subvalue)
						{
							if (preg_match('#^[a-z0-9_\-]*?$#i', $subvalue))
							{
								$get_url .= '&' . $key . '[]=' . $subvalue;
							}
						}
					}
					else if (preg_match('#^[a-z0-9_\-]*?$#i', $value))
					{
						$get_url .= '&' . $key . '=' . $value;
					}
				}
			}
		}


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
Mods fsb1 - Mods fsb2 - Grummfy's project - Zf Planet
 
Volcan
Avatar de Talus
  • Age : 22 ans
  • Messages : 1743
  • Inscrit : 28 Septembre 2006
  Lien vers ce message 12 Janvier 2009, 23:37
Euh... Ce n'est pas tellement de l'optimisation... Si $get est vide, il ne sera pas parcouru... Si ce n'est que pour avoir un $get_url vide si y'a rien, un ternaire suffit...


 
Equipe des MODS
Avatar de Grummfy
  • Age : 25 ans
  • Messages : 5989
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 12 Janvier 2009, 23:39
sauf que si tu désactives le truc (avec un false), il va charger (et donc calculer des trucs) le get puis le vider ... donc des manipulation pour rien


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
Mods fsb1 - Mods fsb2 - Grummfy's project - Zf Planet
 
Volcan
Avatar de Talus
  • Age : 22 ans
  • Messages : 1743
  • Inscrit : 28 Septembre 2006
  Lien vers ce message 13 Janvier 2009, 0:34
Calculer rien, oui... Puisque $_GET est, de toutes manières, défini. Donc, pas défaut, $_GET = array().. hors, parcourir un array vide, ca revient strictement à la même chose que rien parcourir. Limite, ton if, il prend plus de perf qu'avec le comportement par défaut...


 
Equipe des MODS
Avatar de Grummfy
  • Age : 25 ans
  • Messages : 5989
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 13 Janvier 2009, 0:58
dans tout les cas on a un if (avant et après)

comme dit ici ... [code]// On peut desactiver la recuperation automatique des donnees GET, avec la propriete $frame_get_url = false[/code
donc si je désactive cela via un $this->frame_get_url = false, il va m'analyser le $_GET (on suppose que le get contient quelque chose, sinon de toute manière la question ne se pose pas ...), avec l'ancienne version, puis me mettre tout à zéro, bref tout le travail pour rien ... avec la nouvelle version il ne travail que si nécessaire ...


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
Mods fsb1 - Mods fsb2 - Grummfy's project - Zf Planet
 
Hors ligne mob Masculin
Equipe de support
Avatar de mob
  • Age : 19 ans
  • Messages : 2016
  • Inscrit : 10 Septembre 2005
  Lien vers ce message 13 Janvier 2009, 2:44
Euh... Ce n'est pas tellement de l'optimisation... Si $get est vide, il ne sera pas parcouru...

Mais si $_GET n'est pas vide, et frame_get_url vaut FALSE, $_GET sera analysé, au lieu de mettre directement = ''. Mais pas avec la version de Grummfy.

En parlant de la version sur le SVN, dans le fichier Captcha_gd.php, il y a une petite erreur de frappe qui empêche l'affichage du captcha à l'inscription.
imagetruecolor() est écrit image true color().


Anciennement B.Moncef.
 
Equipe des MODS
Avatar de Grummfy
  • Age : 25 ans
  • Messages : 5989
  • Inscrit : 16 Septembre 2004
  Lien vers ce message 13 Janvier 2009, 2:48
je pense que c'est un problème due au dépot svn et non à fsb2 mais à confirmer ...


"La gravité est le bonheur des imbéciles" Charles de Montesquieu > "T'as raison, L'apesanteur c'est plus rigolo" Hébus de Phalompe (Troll de Troy)
Mods fsb1 - Mods fsb2 - Grummfy's project - Zf Planet
 
Equipe de support
Avatar de BlackJowy
  • Age : 3008 ans
  • Messages : 4038
  • Inscrit : 01 Mars 2007
  Lien vers ce message 03 Mars 2010, 0:05
Sujet archivé pour la raison suivante : Bug corrigé dans la version en développement.
 
Répondre


.