3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Awaitable { private $callbacks = []; function when(callable $cb) { $this->callbacks[] = $cb; } function resolve($error, $value) { if ($value instanceof Awaitable) { $value->when(function($e, $v) { $this->resolve($e, $v); }); } else { $this->doResolve($error, $value); } } private function doResolve($error, $value) { foreach ($this->callbacks as $cb) { $cb($error, $value); } } } $awaitables = []; $first = null; $last = null; for ($i = 0; $i < 100000000; $i++) { $awaitable = new Awaitable; if (!$first) { $first = $awaitable; $last = $awaitable; } else { $last->resolve(null, $awaitable); } } $last->resolve(null, 42);

Abusive script

This script was stopped while abusing our resources

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)
8.3.110.0071.99220.94
8.3.100.0071.99724.06
8.3.90.0131.98526.77
8.3.80.0002.00418.52
8.3.70.0171.98616.50
8.3.60.0071.99616.50
8.3.50.0081.99622.04
8.3.40.0101.99418.84
8.3.30.0071.99818.84
8.3.20.0002.00221.09
8.3.10.0031.99821.70
8.3.00.0071.99418.03
8.2.230.0101.99222.58
8.2.220.0101.99237.54
8.2.210.0071.99526.77
8.2.200.0071.99518.04
8.2.190.0131.99016.74
8.2.180.0032.00116.38
8.2.170.0071.99718.82
8.2.160.0032.00022.96
8.2.150.0002.00424.18
8.2.140.0032.00024.66
8.2.130.0071.99626.16
8.2.120.0071.99626.16
8.2.110.0002.00319.05
8.2.100.0032.00017.84
8.2.90.0071.99419.30
8.2.80.0032.00217.97
8.2.70.0071.99517.50
8.2.60.0071.99617.93
8.2.50.0032.00018.10
8.2.40.0101.99822.36
8.2.30.0032.00419.31
8.2.20.0032.00317.83
8.2.10.0002.00218.24
8.2.00.0002.00418.20
8.1.290.0031.99818.88
8.1.280.0031.99825.92
8.1.270.0031.99723.99
8.1.260.0031.99926.35
8.1.250.0002.00228.09
8.1.240.0071.99520.89
8.1.230.0071.99417.70
8.1.220.0032.00117.75
8.1.210.0031.99718.77
8.1.200.0072.00017.35
8.1.190.0071.99317.35
8.1.180.0002.00518.10
8.1.170.0031.99818.78
8.1.160.0032.00019.02
8.1.150.0071.99518.88
8.1.140.0071.99819.65
8.1.130.0071.99517.69
8.1.120.0002.00317.57
8.1.110.0002.00217.54
8.1.100.0002.00317.55
8.1.90.0032.00017.44
8.1.80.0002.00317.55
8.1.70.0002.00217.55
8.1.60.0071.99517.66
8.1.50.0002.00217.49
8.1.40.0032.00017.63
8.1.30.0031.99917.68
8.1.20.0071.99717.56
8.1.10.0031.99917.66
8.1.00.0032.00117.47
8.0.300.0071.99718.77
8.0.290.0101.99116.75
8.0.280.0002.00718.39
8.0.270.0002.00517.23
8.0.260.0032.00017.20
8.0.250.0032.00016.91
8.0.240.0032.00017.00
8.0.230.0032.00016.78
8.0.220.0002.00316.85
8.0.210.0071.99516.72
8.0.200.0031.99916.93
8.0.190.0131.98916.91
8.0.180.0002.00316.93
8.0.170.0002.00216.82
8.0.160.0032.00016.97
8.0.150.0002.00316.88
8.0.140.0091.99416.83
8.0.130.0031.99913.37
8.0.120.0071.99416.91
8.0.110.0031.99816.79
8.0.100.0002.00216.70
8.0.90.0071.99716.70
8.0.80.0102.01116.89
8.0.70.0101.99016.95
8.0.60.0071.99716.95
8.0.50.0032.00416.80
8.0.30.0151.98517.05
8.0.20.0161.98517.40
8.0.10.0001.99816.80
8.0.00.0201.99116.84
7.4.330.0002.00815.08
7.4.320.0031.99916.39
7.4.300.0071.99516.28
7.4.290.0032.00416.39
7.4.280.0002.00416.52
7.4.270.0031.99916.49
7.4.260.0031.99816.30
7.4.250.0002.00116.44
7.4.240.0031.99916.36
7.4.230.0031.99816.57
7.4.220.0101.99216.40
7.4.210.0061.99416.51
7.4.200.0032.00016.30
7.4.160.0131.99216.57
7.4.150.0131.98717.40
7.4.140.0081.99217.86
7.4.130.0141.98716.50
7.4.120.0101.98816.43
7.4.110.0162.43916.38
7.4.100.0132.33216.57
7.4.90.0102.44416.45
7.4.80.0132.42819.39
7.4.70.0102.43316.51
7.4.60.0202.43816.30
7.4.50.0032.49216.33
7.4.40.0072.44716.33
7.4.30.0322.30516.41
7.4.00.0032.48915.05
7.3.330.0501.96713.38
7.3.320.0031.99913.33
7.3.310.0032.00116.29
7.3.300.0031.99816.20
7.3.290.0041.99716.26
7.3.280.0121.99116.28
7.3.270.0091.99017.40
7.3.260.0111.98716.29
7.3.250.0231.97516.41
7.3.240.0151.99316.38
7.3.230.0072.43816.39
7.3.210.0162.41616.35
7.3.200.0132.45216.23
7.3.190.0032.45816.32
7.3.180.0182.43016.30
7.3.170.0162.41416.39
7.3.160.0092.46316.13
7.2.330.0262.38816.46
7.2.320.0102.43016.71
7.2.310.0132.44016.55
7.2.300.0192.44816.55
7.2.290.0232.44816.63
7.1.70.0472.45417.13
7.1.60.0132.48819.47
7.1.00.0002.50022.39
7.0.200.0172.48315.16
7.0.62.4670.00020.02
7.0.52.3730.00020.47
7.0.42.3270.00020.46
7.0.32.3330.00020.36
7.0.21.9170.00020.24
7.0.12.3530.00020.21
7.0.02.4830.00020.35
5.6.280.0072.49321.16
5.6.212.3770.00020.54
5.6.202.4070.00021.10
5.6.192.3500.00021.21
5.6.182.4200.00021.18
5.6.172.3730.00021.13
5.6.162.4830.00021.06
5.6.152.4770.00021.06
5.6.142.4830.00021.19
5.6.132.4100.00021.02
5.6.122.4930.00021.05
5.6.112.4570.00021.05
5.6.102.4600.00021.21
5.6.92.4670.00021.11
5.6.82.4730.00020.36
5.6.72.4930.00020.37
5.6.62.4800.00020.43
5.6.52.2470.00020.42
5.6.42.4800.00020.41
5.6.32.4930.00020.45
5.6.22.4970.00020.56
5.6.12.4530.00020.41
5.6.02.4870.00020.39
5.5.352.4730.00020.39
5.5.342.3930.00020.73
5.5.332.3900.00020.89
5.5.322.3900.00020.96
5.5.311.7800.00020.76
5.5.302.4670.00020.81
5.5.292.4770.00020.84
5.5.282.4870.00020.88
5.5.272.4900.00020.87
5.5.262.4770.00020.80
5.5.252.4970.00020.74
5.5.242.4900.00020.39
5.5.232.4900.00020.10
5.5.222.3670.00020.27
5.5.212.3230.00020.18
5.5.202.3830.00020.23
5.5.192.4970.00020.23
5.5.182.4570.00020.23
5.5.162.4970.00020.19
5.5.152.4830.00020.19
5.5.142.4930.00020.32
5.5.132.2930.00020.07
5.5.122.3430.00020.19
5.5.112.4530.00020.06
5.5.102.4570.00020.09
5.5.92.4730.00020.10
5.5.82.2500.00020.02
5.5.72.4500.00020.26
5.5.62.4370.00020.16
5.5.52.4130.00020.20
5.5.42.3930.00020.05
5.5.32.4170.00020.10
5.5.22.4200.00020.19
5.5.12.3400.00020.21
5.5.02.2900.00019.97

preferences:
83 ms | 1365 KiB | 5 Q