<?php
$times = 10000;
$var = null;
$var = new stdClass();
$time1 = microtime(true);
for ($i = 0; $i <= $times; $i++) {
if (!$var instanceof stdClass) {}
}
$time1 = microtime(true) - $time1;
//echo "Time using '!': $time1\n";
$time2 = microtime(true);
for ($i = 0; $i <= $times; $i++) {
if ($var === null) {}
}
$time2 = microtime(true) - $time2;
//echo "Time using '===': $time2\n";
if ($time1 > $time2){
$p = (($time1-$time2)/$time2) * 100;
//printf("'!== null' was faster by %.2f percent.", $p);
printf("'=== null' was faster");
} else {
$p = (($time2-$time1)/$time1) * 100;
//printf("'instanceof' was faster by %.2f percent.", $p);
printf("'!instanceof' was faster");
}
- Output for 5.0.0 - 5.0.5, 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.26, 7.0.0 - 7.0.20, 7.1.0 - 7.1.7, 7.2.0
- '=== null' was faster
- Output for 5.6.28
- '!instanceof' was faster
- Output for 4.4.2 - 4.4.9
- Parse error: syntax error, unexpected T_STRING in /in/L7cnd on line 11
Process exited with code 255. - Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
- Parse error: parse error, unexpected T_STRING in /in/L7cnd on line 11
Process exited with code 255. - Output for 4.3.2 - 4.3.4
- Parse error: parse error in /in/L7cnd on line 11
Process exited with code 255.
preferences:
163.93 ms | 401 KiB | 218 Q