Я проверял, влияет ли unset () на память во время работы скрипта, чтобы выяснить, эффективнее ли $ var = null, если unset () или другой известный метод.unset () влияет на память, но, поскольку я тестировал ее на двух разных виртуальных хостах, я удивился, почему один из них использует более или менее в два раза больше памяти для одного и того же скрипта?Я предполагаю, что ответ является чем-то простым, но он ускользает от меня в данный момент.Сам скрипт ниже:
<?php
$init=memory_get_usage();
$test=array();
for($i=0;$i<=100000;$i++){
$test[$i]=rand(0,10000000);
}
echo 'MEMORY CHANGE: '.((memory_get_usage()-$init)/1024/1024).'MB<br/>';
for($i=0;$i<=100000;$i++){
unset($test[$i]);
}
echo 'MEMORY CHANGE: '.((memory_get_usage()-$init)/1024/1024).'MB<br/>';
//output on PHP 3.2.5 virtualhost:
//MEMORY CHANGE: 6.98558807373MB
//MEMORY CHANGE: 0.500259399414MB
//output on PHP 5.3.5 virtualhost
//MEMORY CHANGE: 13.970664978MB
//MEMORY CHANGE: 1.00063323975MB
?>
Спасибо!