code : taille mémoire d'une variable en PHP





    
 

code : taille mémoire d'une variable en PHP • le Sam 17 Juil 2010 19:54

Bonjour
A fin d'améliorer mes script et qu'il soit moins gourmand en mémoire j'ai écrit quelques petite fonction de gestion de la mémoire pour corriger les fuites.

les voici si cela interrese quelqu'un
exemple :

echo sizeofvar($MonTableau) ; //affiche l'empreinte mémoire de la variable $MonTableau
Code: Tout sélectionner
416,47 kB

la valeur est approximative, car elle duplique la variable et calcule la différence de la mémoire utilisé avant et après cette opérations.
je n'ais rien trouvé sur le net en anglais aussi avec des combinaison de ce type de mot clef : memory size, variable, php, footprint, size, get variable size php, etc..., je me suit peut être trompé de mot clefs ???
qu'elle est donc la terminologie correcte ?

Si quelqu'un connait une meilleur méthode pour connaitre la taille mémoire d'une variable , , d'un tableau en PHP, je suit preneur.
bizzare avec ces mots clef je n'ais rien trouvé sur le net : memory footprint array php size,


aff_variables() ;// liste toutes les variables active et leur taille mémoire
Code: Tout sélectionner
_POST ≈ 160 B
_GET ≈ 368 B
_COOKIE ≈ 232 B
_FILES ≈ 48 B
indice ≈ 112 B
indicestart ≈ 112 B
indicestop ≈ 112 B
datas ≈ 25.21 MB


//affiche des info sur l'espace mémoire du script PHP
memory_stat() ;
Code: Tout sélectionner
Mémoire -- Utilisé : 25.48 MB || Alloué : 31.75 MB || MAX Utilisé : 58.08 MB || MAX Alloué : 58.5 MB || MAX autorisé : 128M


Fonction PHP


Code: Tout sélectionner

// convertion d'un nombre d'octet en kB, MB, GB
function convert_SIZE($size)
{
    $unite = array('B','kB','MB','GB');
    return @round($size/pow(1024,($i=floor(log($size,1024)))),2).' '.$unite[$i];
}

// liste toutes les variables active et leur taille mémoire
function aff_variables()
{
   echo '<br/>';
   global $datas ;
   foreach($GLOBALS as $Key => $Val)
   {
      if ($Key != 'GLOBALS')
      {   
         echo' <br/>'. $Key .' &asymp; '.sizeofvar( $Val );
      }
   }
    echo' <br/>';
}


//affiche l'empreinte mémoire  d'une variable
function sizeofvar($var)
{

  $start_memory = memory_get_usage();   
  $temp =unserialize(serialize($var ));   
  $taille = memory_get_usage() - $start_memory;
  return convert_SIZE($taille) ;
}

//affiche des info sur l'espace mémoire du script PHP
function memory_stat()
{
   echo  'Mémoire -- Utilisé : '. convert_SIZE(memory_get_usage(false)) .
   ' || Alloué : '.
   convert_SIZE(memory_get_usage(true)) .
   ' || MAX Utilisé  : '.
   convert_SIZE(memory_get_peak_usage(false)).
   ' || MAX Alloué  : '.
   convert_SIZE(memory_get_peak_usage(true)).
   ' || MAX autorisé : '.
   ini_get('memory_limit') ;  ;
}
   

j'espère que cela puisse être utile


n°1 : Essayez SEO Soft, le logiciel de référencement open source

Avatar de l’utilisateur   
nifrou    
Administrateur
 
Messages : 1510
Inscription : Ven 29 Fév 2008 02:40

le Sam 11 Déc 2010 13:04 • code : taille mémoire d'une variable en PHP

La fonction aff_variables() peut être très utile afin de lister les variables utilisées et les supprimer au bon moment. Je vais examiner le reste. Merci


wattie    
Débutant
 
Messages : 13
Inscription : Jeu 2 Déc 2010 14:30

le Jeu 19 Mai 2011 11:40 • code : taille mémoire d'une variable en PHP

moi j'en ai un probleme de consultation de base donné avec mon code php


membre11    
Débutant
 
Messages : 10
Inscription : Jeu 19 Mai 2011 10:42





    
 

Retourner vers Développement d'un site web




Autres sujets proches :
Référencement d'une petite galerie d'images       18/03/2010
erreur code source site jimdo - impossible modifier       12/12/2010
Recherche d'une agence referencement       06/04/2011
Attaque vennant d'une IP apartenant à Google !       11/06/2010
Compression code html       15/01/2011
définition d'une bonne régie ?       05/01/2012
code entre balises head       19/05/2011
titre changé par google en blablabla - Taille Casquette       29/08/2011