- memory_get_peak_usage: documentation ( source)
- microtime: documentation ( source)
- unserialize: documentation ( source)
- memory_get_usage: documentation ( source)
- serialize: documentation ( source)
<?php
$t = microtime(true);
$n = 100000;
$max = 10;
$m = memory_get_usage(true);
echo 'Serialize' . PHP_EOL;
for($i = 0; $i < $max; $i++) {
$a = new SplFixedArray($n);
for($i = 0; $i < $n; $i++) {
$a[$i] = (int)$i;
}
}
echo 'Peak: ' . memory_get_peak_usage(true) . PHP_EOL;
echo 'Usage: ' . (memory_get_usage(true) - $m) . PHP_EOL . PHP_EOL;
$content = serialize($a);
$a = null;
$t = microtime(true);
$m = memory_get_usage(true);
echo 'Unserialize' . PHP_EOL;
for($i = 0; $i < $max; $i++) {
$a = unserialize($content);
}
echo 'Peak: ' . memory_get_peak_usage(true) . PHP_EOL;
echo 'Usage: ' . (memory_get_usage(true) - $m) . PHP_EOL;
echo 'Time: ' . (microtime(true) - $t) . PHP_EOL;