Created
August 17, 2016 22:43
-
-
Save donquixote/60b7ff69a4f391ddb922a649e7d4cea3 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?php | |
// See http://stackoverflow.com/questions/4465046/whats-faster-ifreturnelse-return-or-ifreturn-return | |
function else1($x) { | |
if ($x === true) { | |
return true; | |
} | |
else { | |
return false; | |
} | |
} | |
function else0($x) { | |
if ($x === true) { | |
return true; | |
} | |
return false; | |
} | |
call_user_func(function() { | |
$n = 10000000; | |
$dts_else1 = []; | |
$dts_else0 = []; | |
$t = microtime(true); | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$t = ($dts_else1[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else0(true); | |
else0(false); | |
} | |
$t = ($dts_else0[] = microtime(true) - $t) + $t; | |
for ($i = 0; $i < $n; ++$i) { | |
else1(true); | |
else1(false); | |
} | |
$dts_else1[] = microtime(true) - $t; | |
sort($dts_else0); | |
sort($dts_else1); | |
assert(count($dts_else0) === count($dts_else1)); | |
$ratios = []; | |
$logs = []; | |
foreach ($dts_else0 as $i_dt => $dt_else0) { | |
$ratios[] = $ratio = $dts_else1[$i_dt] / $dt_else0; | |
$logs[] = log($ratio) * 1000; | |
} | |
print "else / no_else\n"; | |
print_r($ratios); | |
print_r($logs); | |
}); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment