
Envoyé par
Oscar Hiboux
Es-tu tout de même parvenu à isoler le code problématique ? Essaye de trouver le fragment de code le plus court possible et expose le nous éventuellement...
Sinon, si tu es à l'aise en anglais tu peux jeter un œil à
ce billet. Il y a qq idées à prendre (ou laisser) selon le cas.
Et bien mon problème n'est pas un problème d'execution, mais de chargement du fichier php.
Je fais le test suivant :
<?php echo round(memory_get_usage()/(1024),2)." Ko";?>
J'obtiens 613.81 Ko, ce qui j'imagine est la mémoire utilisée de base par l'interpreteur PHP.
Ensuite j'ajoute une fonction de 1750 instructions dans le fichier :
1 2 3 4 5 6 7 8 9 10 11 12
|
<?php
echo round(memory_get_usage()/(1024),2)." Ko";
function toto()
{
$var="une chaine de caracteres";
$var="une chaine de caracteres";
[...] 1750 fois en tout
$var="une chaine de caracteres";
} |
J'obtiens 1107.12 Ko, c'est à dire que le chargement de ce fichier de 1750 instructions a utilisé 493.31 Ko de mémoire sans même que je n'ai exécuté quoi que ce soit.
Le fichier en lui même fait 18Ko.
Est-ce normal ? J'imagine que PHP fait une sorte de precompilation de mon fichier et stocke ce code précompilé dans la memoire ce qui fait que cela consomme de la memoire alors que rien n'a encore été éxécuté.
Peut-on demander a PHP d'avoir un autre comportement, de ne charger que ce qui est utile = executé ?
Cela m'interesserait que certains fassent le meme test que moi pour comparer les resultats.
Merci !
Partager