3v4l.org

run code in 300+ PHP versions simultaneously
<?php function benchmark(callable $fn, int $iterations = 1000000) { $start = microtime(true); for ($i = 0; $i < $iterations; $i++) { $fn(); } return microtime(true) - $start; } function benchmarks(array $benchmarks, int $iterations = 1000000) { $results = []; foreach ($benchmarks as $name => $callable) { $results[$name] = benchmark($callable, $iterations); } $maximum = max($results); $minimum = min($results); foreach ($results as $name => $result) { echo "$name: $result"; if ($result === $maximum) { echo ' (slowest)'; } if ($result === $minimum) { echo ' (fastest)'; } echo "\n"; } } $a = ['one' => 1, 'two' => 2, 'three' => 3]; benchmarks([ 'empty' => fn() => empty($a['none']), 'isset' => fn() => isset($a['none']), 'array_key_exists' => fn() => array_key_exists('none', $a), 'null comparison' => fn() => (bool)($a['none'] ?? false), ]);

preferences:
48.46 ms | 406 KiB | 5 Q