{}
run-icon
main.php
<?php // document the memory usage when we begin gc_enable(); $memUsage = memory_get_usage(); $memRealUsage = memory_get_usage(true); echo "Starting out" . PHP_EOL; echo "Mem usage $memUsage Real usage $memRealUsage" . PHP_EOL; // build a large array and see how much memory we are using // for simplicity, we just clone a single object $sample = new stdClass(); $sample->a = 123; $sample->b = 456; $array = []; for ($i = 0; $i < 30000; $i++) { // $array[] = $i; $array[] = clone $sample; } $memUsage = memory_get_usage(); $memRealUsage = memory_get_usage(true); echo "Allocated many items" . PHP_EOL; echo "Mem usage $memUsage Real usage $memRealUsage" . PHP_EOL; // then, we unset the entire array to try to free space unset($array); // we also force a gc gc_collect_cycles(); $memUsage = memory_get_usage(); $memRealUsage = memory_get_usage(true); echo "Variable unset" . PHP_EOL; echo "Mem usage $memUsage Real usage $memRealUsage" . PHP_EOL;
Output