3v4l.org

run code in 300+ PHP versions simultaneously
<?php $iter = function($a) : void { yield $a + 1; }; $reset = function ($a) : bool { return $a == 7; }; $init = function () : int { return 3; }; function rotatable(callable $iterate, callable $reset, callable $init) : \Generator { $i = $init(); $gen = $iterate($i); while (TRUE) { yield $i; $i = $gen->current(); $reset($i) and $i = $init(); $gen = $iterate($i); } } function rotate(\Generator $generator) { $current = $generator->current(); $generator->next(); return $current; } $gen = rotatable($iter, $reset, $init); for ($i = 0; $i < 15; $i++) { var_dump(rotate($gen)); }

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
7.3.20.0820.00314.75
7.3.10.1490.01014.45
7.3.00.1140.01314.58
7.2.150.1070.00315.10
7.2.140.0860.00714.87
7.2.130.0780.01014.55
7.2.120.0840.00314.70
7.2.110.0870.00014.89
7.2.100.1000.00714.76
7.2.90.0920.00714.86
7.2.80.0920.01015.00
7.2.70.1040.00314.96
7.2.60.1060.01014.64
7.2.50.1220.00614.82
7.2.40.0890.01015.02
7.2.30.1080.00314.63
7.2.20.1070.00714.94
7.2.10.1000.00314.66
7.2.00.0980.00315.07
7.1.250.1050.00013.81

preferences:
141.81 ms | 1394 KiB | 7 Q