3v4l.org

run code in 300+ PHP versions simultaneously
<?php class ProductBase {} class Product extends ProductBase {} class ProductBlank extends ProductBase {} abstract class QuantityLineProductBase { /** * Contract: will always return some kind of ProductBase */ abstract public function getProduct(): ProductBase; } class QuantityLineProductProduct extends QuantityLineProductBase { private Product $product; /** * Constructor doesn't need to obey substitution principles */ public function __construct(Product $product) { $this->product = $product; } /** * Covariance of output; no violation */ public function getProduct(): Product { return $this->product; } } class QuantityLineProductBlank extends QuantityLineProductBase { private ProductBlank $product; /** * Constructor accepting a different type; no violation */ public function __construct(ProductBlank $product) { $this->product = $product; } /** * Covariance of output; no violation */ public function getProduct(): ProductBlank { return $this->product; } }

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.5.10.0070.01016.71
8.5.00.0130.00819.95
8.4.150.0020.00014.05
8.4.140.0120.00917.39
8.4.130.0070.00317.82
8.4.120.0070.00320.46
8.4.110.0050.00422.81
8.4.100.0130.00717.50
8.4.90.0090.01217.68
8.4.80.0110.00817.64
8.4.70.0090.01117.42
8.4.60.0140.00617.80
8.4.50.0030.00518.46
8.4.40.0070.00317.46
8.4.30.0060.01320.42
8.4.20.0070.00318.00
8.4.10.0130.00720.75
8.3.280.0120.00918.20
8.3.270.0090.01016.21
8.3.260.0120.00916.20
8.3.250.0030.00418.77
8.3.240.0120.00816.72
8.3.230.0120.00616.72
8.3.220.0040.00417.17
8.3.210.0100.00316.66
8.3.200.0080.01116.49
8.3.190.0020.00616.98
8.3.180.0010.00620.68
8.3.170.0090.00916.93
8.3.160.0120.00616.50
8.3.150.0160.00318.38
8.3.140.0180.00016.62
8.3.130.0060.00316.71
8.3.120.0060.00318.68
8.3.110.0060.00320.94
8.3.100.0000.00824.06
8.3.90.0050.00326.77
8.3.80.0060.00318.55
8.3.70.0110.00316.58
8.3.60.0140.00418.43
8.3.50.0140.00524.56
8.3.40.0130.00321.66
8.3.30.0150.00418.29
8.3.20.0070.00024.18
8.3.10.0070.00724.66
8.3.00.0040.00426.16
8.2.290.0110.00720.23
8.2.280.0100.00916.41
8.2.270.0000.00816.25
8.2.260.0070.01017.26
8.2.250.0040.00416.26
8.2.240.0090.00016.99
8.2.230.0060.00322.58
8.2.220.0040.01537.54
8.2.210.0100.00326.77
8.2.200.0090.00016.25
8.2.190.0090.01316.58
8.2.180.0090.00625.92
8.2.170.0060.00918.79
8.2.160.0090.00622.96
8.2.150.0040.00425.66
8.2.140.0030.00624.66
8.2.130.0080.00026.16
8.2.120.0050.00326.35
8.2.110.0030.00622.13
8.2.100.0090.00317.59
8.2.90.0060.00317.50
8.2.80.0080.00018.54
8.2.70.0000.00917.50
8.2.60.0040.00417.91
8.2.50.0000.00818.05
8.2.40.0080.00018.10
8.2.30.0060.00317.96
8.2.20.0070.00017.85
8.2.10.0040.00419.00
8.2.00.0040.00418.99
8.1.330.0120.00721.75
8.1.320.0110.00817.85
8.1.310.0040.01116.68
8.1.300.0100.00617.86
8.1.290.0040.00418.88
8.1.280.0040.01125.92
8.1.270.0050.00324.02
8.1.260.0070.00028.09
8.1.250.0030.00528.09
8.1.240.0100.00020.67
8.1.230.0030.01017.70
8.1.220.0060.00317.74
8.1.210.0040.00418.77
8.1.200.0030.00617.10
8.1.190.0070.00317.13
8.1.180.0040.00418.10
8.1.170.0050.00318.47
8.1.160.0030.00518.76
8.1.150.0040.00418.66
8.1.140.0040.00418.81
8.1.130.0040.00420.07
8.1.120.0040.00417.39
8.1.110.0040.00417.30
8.1.100.0070.00017.25
8.1.90.0000.00717.38
8.1.80.0040.00417.21
8.1.70.0070.00017.37
8.1.60.0030.00617.44
8.1.50.0040.00417.39
8.1.40.0070.00417.41
8.1.30.0030.00517.54
8.1.20.0000.00717.49
8.1.10.0030.00617.37
8.1.00.0000.00817.32
8.0.300.0030.00618.77
8.0.290.0040.00416.63
8.0.280.0000.00718.24
8.0.270.0050.00217.93
8.0.260.0000.00618.53
8.0.250.0030.00316.73
8.0.240.0000.00816.88
8.0.230.0040.00416.89
8.0.220.0030.00316.78
8.0.210.0000.00716.77
8.0.200.0070.00016.84
8.0.190.0000.00716.82
8.0.180.0050.00216.84
8.0.170.0030.00516.79
8.0.160.0040.00416.87
8.0.150.0000.00716.63
8.0.140.0080.00516.73
8.0.130.0000.00513.17
8.0.120.0040.00416.63
8.0.110.0040.00416.77
8.0.100.0000.00816.83
8.0.90.0030.00316.68
8.0.80.0060.00916.72
8.0.70.0000.00716.71
8.0.60.0000.00816.66
8.0.50.0030.00416.65
8.0.30.0030.01417.04
8.0.20.0110.00916.98
8.0.10.0000.00716.74
8.0.00.0060.01316.65
7.4.330.0030.00315.55
7.4.320.0030.00316.48
7.4.300.0070.00016.42
7.4.290.0000.00716.48
7.4.280.0030.00616.27
7.4.270.0000.00716.47
7.4.260.0000.00513.08
7.4.250.0000.00716.24
7.4.240.0020.00516.54
7.4.230.0020.00516.42
7.4.220.0020.00516.39
7.4.210.0090.00616.50
7.4.200.0040.00416.37
7.4.130.0150.00916.41
7.4.120.0090.00916.16
7.4.110.0080.01216.41
7.4.100.0070.01016.17
7.4.90.0150.00316.22
7.4.80.0150.00916.48
7.4.70.0140.00316.36
7.4.60.0070.01016.45
7.4.50.0100.01416.25
7.4.40.0110.00716.42
7.4.30.0080.01116.18
7.4.20.0140.00316.34
7.4.10.0090.00916.34
7.4.00.0150.00316.38
7.3.330.0040.00416.12
7.3.320.0040.00413.11
7.3.310.0040.00416.18
7.3.300.0000.00616.16
7.3.290.0060.01016.22
7.3.260.0110.00716.17
7.3.250.0030.01416.33
7.3.240.0120.00616.18
7.3.230.0100.01016.39
7.3.220.0100.00716.25
7.3.210.0140.00316.22
7.3.200.0170.00016.18
7.3.190.0150.00316.13
7.3.180.0150.00316.34
7.3.170.0110.00816.21
7.3.160.0090.00916.25
7.3.150.0060.01216.27
7.3.140.0190.00016.37
7.3.130.0070.01016.45
7.3.120.0040.01516.23
7.3.110.0060.01216.36
7.3.100.0070.01416.25
7.3.90.0150.00316.28
7.3.80.0160.00316.40
7.3.70.0120.00916.07
7.3.60.0140.00416.25
7.3.50.0100.00716.16
7.3.40.0080.00816.28
7.3.30.0170.00716.17
7.3.20.0060.01216.21
7.3.10.0070.01016.11
7.3.00.0070.01016.11

preferences:
18.37 ms | 403 KiB | 5 Q