- assert: documentation ( source)
- microtime: documentation ( source)
- set_time_limit: documentation ( source)
- print_r: documentation ( source)
- array_keys: documentation ( source)
<?php
set_time_limit(0);
echo "<pre>";
// Pure array no copy
function m1($a, $b) {
$var = null;
if ($a == 1) {
if ($b == 1) {
$var = 'test';
}
}
return $var;
}
// Array clean copy
function m2($a, $b)
{
$var = null;
if ($a == 1 && $b == 1) {
$var = 'test';
}
return $var;
}
$result = array(
'm1' => 0,
'm2' => 0
);
// asset
assert(m2(0, 0) == m1(0, 0));
assert(m2(1, 1) == m1(1, 1));
for($i = 0; $i < 100000; ++ $i) {
foreach(array_keys($result) as $key) {
$alpha = microtime(true);
$key(1,1);
$result[$key] += microtime(true) - $alpha;
}
}
echo '<pre>';
echo "Single Run\n";
print_r($result);
echo '</pre>';
?>