3v4l.org

run code in 300+ PHP versions simultaneously
<?php namespace middleware; /** * Initialize a middleware action * * @param callable $anAction * @param callable $aNextAction (optional) * @return callable */ function init_action(callable $anAction, callable $aNextAction = null) { return function (...$args) use ($anAction, $aNextAction) { $result = $anAction(...$args); if (is_callable($aNextAction)) { $result = $aNextAction($result); } return $result; } }; $action = init_action(function() { return "foo"; }, function($foo) { echo "I said, $foo"; }); $action();

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)
5.4.390.0870.05719.18
5.4.380.0870.05718.81
5.4.370.0830.05718.70
5.4.360.0630.06018.89
5.4.350.0970.05018.73
5.4.340.0670.06018.77
5.4.320.0570.05018.73
5.4.310.0700.05018.72
5.4.300.0870.05318.57
5.4.290.0830.05318.74
5.4.280.0870.04718.78
5.4.270.0930.05018.78
5.4.260.0730.05718.69
5.4.250.0600.05018.45
5.4.240.0630.06018.59
5.4.230.0800.05018.75
5.4.220.0570.05718.82
5.4.210.0570.05318.77
5.4.200.0700.05316.62
5.4.190.0900.06318.52
5.4.180.0730.05318.71
5.4.170.0770.06718.52
5.4.160.0770.05318.80
5.4.150.0830.05318.79
5.4.140.0730.06316.21
5.4.130.0530.07016.26
5.4.120.0870.04316.34
5.4.110.0670.05316.23
5.4.100.0730.05016.44
5.4.90.0700.05016.29
5.4.80.0770.05016.24
5.4.70.0670.06716.43
5.4.60.0870.06016.24
5.4.50.0730.05016.20
5.4.40.0800.05716.25
5.4.30.0900.05316.13
5.4.20.0830.04716.29
5.4.10.0800.06016.26
5.4.00.0800.04715.71
5.3.290.0800.05714.72
5.3.280.0830.05014.64
5.3.270.0700.05014.64
5.3.260.0900.05714.61
5.3.250.0700.05714.77
5.3.240.0700.06714.71
5.3.230.0630.06314.73
5.3.220.0830.04714.61
5.3.210.0900.05714.79
5.3.200.0770.06014.59
5.3.190.0770.05314.68
5.3.180.1000.04314.66
5.3.170.0930.04314.73
5.3.160.0830.06014.59
5.3.150.1000.05314.75
5.3.140.1100.07014.67
5.3.130.0600.05714.55
5.3.120.0870.05714.57
5.3.110.0770.05314.59
5.3.100.0970.05314.04
5.3.90.0670.05714.21
5.3.80.0700.06314.05
5.3.70.0970.05314.07
5.3.60.0900.06014.06
5.3.50.0070.05713.99
5.3.40.0070.05714.17
5.3.30.1070.04714.12
5.3.20.0800.05313.82
5.3.10.0870.06713.88
5.3.00.0970.06713.77
5.2.170.0930.05711.28
5.2.160.0830.05311.11
5.2.150.0670.05311.18
5.2.140.0830.04311.19
5.2.130.0600.04311.10
5.2.120.0700.03311.09
5.2.110.0570.05011.03
5.2.100.0600.05011.24
5.2.90.0800.03711.11
5.2.80.0800.04311.08
5.2.70.0730.05011.13
5.2.60.0770.04010.97
5.2.50.0770.06310.98
5.2.40.0600.05311.03
5.2.30.0570.04311.00
5.2.20.0470.04011.07
5.2.10.0500.04010.90
5.2.00.0530.04310.67
5.1.60.0430.0379.97
5.1.50.0500.04010.13
5.1.40.0500.03710.09
5.1.30.0600.03310.34
5.1.20.0670.03010.40
5.1.10.0670.04010.08
5.1.00.0770.04310.19
5.0.50.0330.0408.58
5.0.40.0470.0338.48
5.0.30.0330.0608.36
5.0.20.0330.0308.38
5.0.10.0300.0308.28
5.0.00.0270.0508.24
4.4.90.0370.0175.95
4.4.80.0300.0235.89
4.4.70.0230.0235.89
4.4.60.0230.0275.91
4.4.50.0170.0275.87
4.4.40.0270.0405.88
4.4.30.0300.0205.87
4.4.20.0300.0305.88
4.4.10.0230.0205.94
4.4.00.0270.0375.90
4.3.110.0170.0275.76
4.3.100.0230.0235.84
4.3.90.0270.0175.82
4.3.80.0300.0275.79
4.3.70.0230.0175.76
4.3.60.0300.0275.82
4.3.50.0200.0235.79
4.3.40.0300.0375.77
4.3.30.0130.0235.00
4.3.20.0100.0235.00
4.3.10.0170.0235.00
4.3.00.0000.0237.60

preferences:
145.55 ms | 1394 KiB | 7 Q