- 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
- 2020-03-21 RFC: Is_Literal - declined
- 2020-12-04 Enumerations - included in PHP 8.1
- 2018-06-15 Typed Properties v2 - implemented in PHP 7.4
- 2016-08-12 Object typehint - included in PHP 7.2
- 2016-08-14 Arrow functions - withdrawn
- 2016-05-29 array_change_keys() - withdrawn
- 2016-04-19 Lexical scope support for anonymous classes - suspended
- 2016-04-17 Functional Interfaces - declined
- 2016-03-16 Typed Properties - superseded in favor of Typed Properties 2.0
- 2015-08-27 Callable Prototypes - declined
- 2015-05-01 Short Closures - declined / withdrawn in favor of Arrow Functions
- 2015-02-18 Scalar type hints v5 - included in PHP 7
- 2015-02-14 Union Types - declined
- 2013-09-22 Anonymous classes - included in PHP 7