Urilisation memoire

Résolu
agparchitecture Messages postés 88 Date d'inscription jeudi 9 mars 2006 Statut Membre Dernière intervention 7 novembre 2010 - 28 juil. 2010 à 20:46
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 29 juil. 2010 à 21:28
Bonjour à tous et toutes,

Je me pose une question sur l'utilisation d'une variable par rapport à l'utilisation d'un constante crée par un define.

Afin de vérifier, j'ai fait les deux codes suivant:

Un define:
<?php

$Temp1 = memory_get_usage();
define ('Test', 123456789);²
$Temp2 = memory_get_usage();

$ret = $Temp2 - $Temp1;
echo $ret.'
';

?>

réponse du script : 88

Le code suivant pour une variable:
<?php

$Temp1 = memory_get_usage();
$Test = 123456789;
$Temp2 = memory_get_usage();

$ret = $Temp2 - $Temp1;
echo $ret.'
';

?>

reponse du script: 48

j'en déduit donc qu'une variable prend moins de place en mémoire qu'une constante. Est-ce que cette déduction est bien juste ou cela dépend? Et donc, est-ce qu'il vaut mieux utiliser des variable à la place de constante afin de diminuer l'utilisation memoire?

3 réponses

syndrael Messages postés 2378 Date d'inscription lundi 4 février 2002 Statut Membre Dernière intervention 29 décembre 2012 20
29 juil. 2010 à 08:06
Ouh là... que de pinaillage pour une simple pétouille de qqs octets..
La différence entre variable et constante n'est pas propre à son empreinte mémoire mais à son utilisation..
Une Clio consomme moins qu'une Ferrari mais sur l'autoroute il vaut mieux une Ferrari qui coute plus cher..
S.
3
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
29 juil. 2010 à 21:28
Salut,

Comme d'hab : Syndrael++, avec en prime une belle image

D'autant plus que j'ai toujours un vieux doute sur ce genre de test, trop dépendant de l'OS, de la version de PHP, et sans doute même d'autres facteurs (enfin je pense, et c'est mon avis à moi perso)

J'aurai plutôt pensé que c'était le contraire, alors j'ai fais un rapide test :
tu obtiens 88, moi aussi.
tu obtiens 48, j'obtiens 168

L'inverse donc, ... et bien plus prononcé.
(Seven PHP 5.3.2)

Peu importe le résultat au final, puisqu'au delà du fait que cela soit négligeable, il ne prends pas en compte l'implémentation, ce qui est pourtant primordial, et qui à mon avis n'est pas prédictible : portée d'une constante de classe face à une variable locale de méthode ? d'une variable instanciée ?, etc ... etc ...

Une constante est requise lorsque sa valeur est ...heu... constante et que son type est accepté par PHP (array ???), sinon on emploie une variable.

Cordialement,


Kohntark -
3
agparchitecture Messages postés 88 Date d'inscription jeudi 9 mars 2006 Statut Membre Dernière intervention 7 novembre 2010
28 juil. 2010 à 20:47
Je me suis trompé de thème et m'en vois désolé, Est-il possible de le changer d'emplacement? Merci
0
Rejoignez-nous