Skip to content

Instantly share code, notes, and snippets.

@donquixote
Created August 17, 2016 22:43
Show Gist options
  • Save donquixote/60b7ff69a4f391ddb922a649e7d4cea3 to your computer and use it in GitHub Desktop.
Save donquixote/60b7ff69a4f391ddb922a649e7d4cea3 to your computer and use it in GitHub Desktop.
<?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