3v4l.org

run code in 300+ PHP versions simultaneously
<?php function inverse_sqrt( $x) { return 1 / sqrt($x); } function fast_inverse_sqrt( $x) { $i = 0x5f3759df - (unpack('l', pack('f', $x))[1] >> 1); $y = unpack('f', pack('l', $i))[1]; return $y * (1.5 - 0.5 * $x * $y * $y); } $t = microtime(true); for($i = 0.1; $i <= 100; $i = $i + 0.04) { $x = inverse_sqrt($i); } $inverse_sqrt_time = microtime(true) - $t; $t = microtime(true); for($i = 0.1; $i <= 100; $i = $i + 0.04) { $x = fast_inverse_sqrt($i); } $fast_inverse_sqrt_time = microtime(true) - $t; var_dump($inverse_sqrt_time, $fast_inverse_sqrt_time); if ($inverse_sqrt_time < $fast_inverse_sqrt_time) { echo "inverse_sqrt is faster"; } else { echo "fast_inverse_sqrt is faster"; }

preferences:
30.86 ms | 402 KiB | 5 Q