3v4l.org

run code in 300+ PHP versions simultaneously
<? $count = 1000000; function t($a) { return $a + 1; } function tl1(&$a) { $a += 1; } function tl2(&$a) { $a++; } class test { public static function staticTest($a) { return $a + 1; } public function nonStaticTest($a) { return $a + 1; } } $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { $a = $a + 1; } echo '$a = $a + 1: ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { $a += 1; } echo '$a += 1: ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { $a++; } echo '$a++: ', "\t\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { ++$a; } echo '++$a: ', "\t\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { $a = t($a); } echo '$a = t($a): ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { tl1($a); } echo 'tl1($a): ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { tl2($a); } echo 'tl2($a): ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { test::staticTest($a); } echo 'test::staticTest($a): ', "\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $test = new test; $i = 0; $a = 1; while ($i++ < $count) { $test->nonStaticTest($a); } echo '$test->nonStaticTest($a): ', "\t", (microtime(true) - $time), PHP_EOL;
Output for git.master, git.master_jit
<? $count = 1000000; function t($a) { return $a + 1; } function tl1(&$a) { $a += 1; } function tl2(&$a) { $a++; } class test { public static function staticTest($a) { return $a + 1; } public function nonStaticTest($a) { return $a + 1; } } $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { $a = $a + 1; } echo '$a = $a + 1: ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { $a += 1; } echo '$a += 1: ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { $a++; } echo '$a++: ', "\t\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { ++$a; } echo '++$a: ', "\t\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { $a = t($a); } echo '$a = t($a): ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { tl1($a); } echo 'tl1($a): ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { tl2($a); } echo 'tl2($a): ', "\t\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $i = 0; $a = 1; while ($i++ < $count) { test::staticTest($a); } echo 'test::staticTest($a): ', "\t\t", (microtime(true) - $time), PHP_EOL; $time = microtime(true); $test = new test; $i = 0; $a = 1; while ($i++ < $count) { $test->nonStaticTest($a); } echo '$test->nonStaticTest($a): ', "\t", (microtime(true) - $time), PHP_EOL;

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
59.74 ms | 405 KiB | 7 Q