3v4l.org

run code in 300+ PHP versions simultaneously
<?php function benchmark($n) { $iterations = intval(1000000 / $n); print "$iterations iterations, $n range\n"; $a = range(0, $n); $start = microtime(TRUE); for ($i = 1; $i < $iterations; $i++) (array) $a !== $a; $trick = microtime(TRUE) - $start; $start = microtime(TRUE); for ($i = 1; $i < $iterations; $i++) !is_array($a); $is_array = microtime(TRUE) - $start; print '(array) !== is ' . ($trick < $is_array ? 'faster' : 'slower') ." than !is_array() for arrays and $n\n"; $a = range(0, $n); $start = microtime(TRUE); for ($i = 1; $i < $iterations; $i++) (array) $a === $a; $trick = microtime(TRUE) - $start; $start = microtime(TRUE); for ($i = 1; $i < $iterations; $i++) is_array($a); $is_array = microtime(TRUE) - $start; print '(array) === is ' . ($trick < $is_array ? 'faster' : 'slower') ." than is_array() for arrays and $n\n"; $a = (object) range(0, $n); $start = microtime(TRUE); for ($i = 1; $i < $iterations; $i++) (array) $a !== $a; $trick = microtime(TRUE) - $start; $start = microtime(TRUE); for ($i = 1; $i < $iterations; $i++) !is_array($a); $is_array = microtime(TRUE) - $start; print '(array) !== is ' . ($trick < $is_array ? 'faster' : 'slower') ." than !is_array() for object and $n\n"; $a = (object) range(0, $n); $start = microtime(TRUE); for ($i = 1; $i < $iterations; $i++) (array) $a === $a; $trick = microtime(TRUE) - $start; $start = microtime(TRUE); for ($i = 1; $i < $iterations; $i++) is_array($a); $is_array = microtime(TRUE) - $start; print '(array) === is ' . ($trick < $is_array ? 'faster' : 'slower') ." than is_array() for objects and $n\n"; } benchmark(10); print "\n"; benchmark(140); print "\n"; benchmark(150); print "\n";

preferences:
37.47 ms | 402 KiB | 5 Q