@ 2018-06-12T09:54:21Z <?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.120 0.023 17.54 7.2.5 0.142 0.027 17.54 7.2.4 0.194 0.016 17.93 7.2.3 0.114 0.023 17.75 7.2.2 0.132 0.020 17.96 7.2.1 0.125 0.019 17.75 7.2.0 0.120 0.021 17.79 7.1.17 0.121 0.017 16.55 7.1.16 0.113 0.019 17.93 7.1.15 0.110 0.018 18.04 7.1.14 0.091 0.023 17.90 7.1.13 0.125 0.022 18.12 7.1.12 0.131 0.015 17.87 7.1.11 0.118 0.019 17.74 7.1.10 0.155 0.018 17.56 7.1.9 0.171 0.017 17.50 7.1.8 0.121 0.019 17.46 7.1.7 0.162 0.019 17.31 7.1.6 0.139 0.030 35.26 7.1.5 0.140 0.018 35.15 7.1.4 0.143 0.019 34.97 7.1.3 0.124 0.020 35.10 7.1.2 0.132 0.021 35.11 7.1.1 0.121 0.021 16.93 7.1.0 0.119 0.018 17.07
preferences:dark mode live preview
33.8 ms | 401 KiB | 5 Q