@ 2018-06-19T10:13:38Z <?php
$start = microtime(true);
function bytesToSize($bytes, $precision = 2) {
$symbols = array('B', 'Kb', 'Mb', 'Gb', 'Tb', 'Pb', 'Eb', 'Zb', 'Yb');
$exp = (int)floor(log($bytes) / log(1024));
return sprintf('%.'. $precision .'f '. $symbols[$exp], $bytes / pow(1024, floor($exp)));
}
function mem() {
return bytesToSize(memory_get_usage(true));
}
function test($msg, $test) {
$t = microtime(true);
$test($msg);
echo $msg .': <b>'. sprintf('%.6f', microtime(true) - $t) .'</b>'. PHP_EOL;
}
$array = range(0, 30000);
test('foreach', function ($msg) use ($array) {
echo $msg . ' before loop mem: '. mem() .PHP_EOL;
foreach ($array as $v) {
$b = $v;
}
echo $msg . ' after loop mem: '. mem() .PHP_EOL;
});
test('foreach ref', function ($msg) use ($array) {
echo $msg . ' before loop mem: '. mem() .PHP_EOL;
foreach ($array as &$v) {
$b = $v;
}
unset($v);
echo $msg . ' after loop mem: '. mem() .PHP_EOL;
});
test('for', function ($msg) use ($array) {
echo $msg . ' before loop mem: '. mem() .PHP_EOL;
$so = count($array);
for ($i = 0; $i < $so; ++$i) {
$b = $array[$i];
}
echo $msg . ' after loop mem: '. mem() .PHP_EOL;
});
test('while each -> list', function ($msg) use ($array) {
echo $msg . ' before loop mem: '. mem() .PHP_EOL;
while (list($k, $v) = each($array)) {
$b =$v;
}
echo $msg . ' after loop mem: '. mem() .PHP_EOL;
});
echo 'Memory peak: ' . round(memory_get_peak_usage() / 1048576, 3) .PHP_EOL;
echo sprintf('%.6f', microtime(true) - $start) .'</b>'. PHP_EOL;
Enable javascript to submit You have javascript disabled. You will not be able to edit any code.
Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).
Version System time (s) User time (s) Memory (MiB) 7.2.6 0.017 0.018 17.89 7.2.5 0.013 0.020 18.00 7.2.4 0.031 0.019 17.92 7.2.3 0.017 0.017 18.05 7.2.2 0.017 0.024 18.16 7.2.1 0.010 0.029 17.88 7.2.0 0.023 0.013 18.06 7.1.17 0.017 0.017 16.94 7.1.16 0.017 0.020 16.87 7.1.15 0.021 0.014 16.69 7.1.14 0.010 0.025 16.64 7.1.13 0.128 0.023 17.04 7.1.12 0.018 0.018 16.86 7.1.11 0.013 0.020 16.90 7.1.10 0.020 0.014 17.02 7.1.9 0.025 0.028 16.95 7.1.8 0.019 0.019 16.98 7.1.7 0.017 0.023 16.81 7.1.6 0.040 0.022 35.15 7.1.5 0.034 0.024 34.97 7.1.4 0.036 0.023 35.07 7.1.3 0.035 0.017 34.91 7.1.2 0.034 0.017 34.95 7.1.1 0.016 0.016 16.97 7.1.0 0.023 0.023 16.88
preferences:dark mode live preview
33.92 ms | 400 KiB | 5 Q