@ 2018-06-19T10:13:24Z <?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.3.1 0.004 0.025 18.65 7.3.0 0.014 0.017 18.62 7.2.13 0.020 0.016 19.02 7.2.12 0.013 0.016 19.09 7.2.11 0.003 0.026 18.86 7.2.10 0.020 0.013 19.15 7.2.9 0.014 0.017 19.13 7.2.8 0.013 0.017 18.64 7.2.7 0.003 0.027 19.16 7.2.6 0.015 0.017 18.52 7.2.5 0.015 0.015 18.49 7.2.4 0.014 0.016 18.53 7.2.3 0.008 0.021 18.58 7.2.2 0.059 0.021 18.24 7.2.1 0.026 0.019 18.21 7.2.0 0.017 0.020 18.69 7.1.25 0.006 0.023 18.05 7.1.17 0.022 0.025 17.04 7.1.16 0.024 0.024 16.86 7.1.15 0.013 0.023 16.95 7.1.14 0.024 0.017 17.01 7.1.13 0.011 0.023 16.80 7.1.12 0.013 0.020 16.98 7.1.11 0.015 0.018 17.05 7.1.10 0.010 0.023 16.85 7.1.9 0.017 0.018 16.57 7.1.8 0.020 0.013 16.98 7.1.7 0.013 0.026 16.70 7.1.6 0.039 0.026 35.07 7.1.5 0.042 0.013 35.23 7.1.4 0.032 0.021 35.01 7.1.3 0.038 0.022 34.81 7.1.2 0.036 0.019 35.05 7.1.1 0.013 0.020 16.80 7.1.0 0.015 0.018 16.75
preferences:dark mode live preview
29.9 ms | 400 KiB | 5 Q