3v4l.org

run code in 300+ PHP versions simultaneously
<?php class ArrayAccessImplementer implements ArrayAccess { private $array; public function __construct(array $array) { $this->array = $array; } public function offsetExists($offset) { return array_key_exists($this->array, $offset); } public function offsetSet($offset, $value) { $this->array[$offset] = $value; } public function offsetGet($offset) { return $this->array[$offset]; } public function offsetUnset($offset) { unset($this->array[$offset]); } } class ArrayObjectSubClass extends ArrayObject { } class SimpleObject { public function __construct(array $array) { foreach ($array as $key => $value) { $this->{$key} = $value; } } } $inputArray = array(0 => 'value0', '1' => 'value1'); $stdClassObject = (object)$inputArray; $simpleObject = new SimpleObject($inputArray); $arrayObject = new ArrayObject($inputArray); $arrayObjectSubclass = new ArrayObjectSubClass($inputArray); $arrayAccess = new ArrayAccessImplementer($inputArray); echo 'stdClass: '; var_export((array)$stdClassObject); echo PHP_EOL, 'SimpleObject: '; var_export((array)$simpleObject); echo PHP_EOL, 'ArrayObject: '; var_export((array)$arrayObject); echo PHP_EOL, 'ArrayObjectSubclass: '; var_export((array)$arrayObjectSubclass); echo PHP_EOL, 'ArrayAccess: '; var_export((array)$arrayAccess);

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.60.0070.01418.68
8.3.50.0040.01118.05
8.3.40.0110.00418.79
8.3.30.0090.00618.83
8.3.20.0070.00020.34
8.3.10.0060.00320.61
8.3.00.0000.00823.65
8.2.180.0110.01125.92
8.2.170.0130.00318.96
8.2.160.0100.00622.11
8.2.150.0040.00424.18
8.2.140.0000.00824.66
8.2.130.0040.00420.34
8.2.120.0000.00826.35
8.2.110.0070.00420.35
8.2.100.0080.00317.84
8.2.90.0050.00319.16
8.2.80.0000.00917.97
8.2.70.0050.00317.50
8.2.60.0080.00017.80
8.2.50.0000.00819.21
8.2.40.0040.00420.45
8.2.30.0040.00420.55
8.2.20.0000.00718.18
8.2.10.0040.00418.04
8.2.00.0040.00418.15
8.1.280.0070.01125.92
8.1.270.0000.00724.66
8.1.260.0040.00426.35
8.1.250.0040.00428.09
8.1.240.0090.00023.80
8.1.230.0040.00717.45
8.1.220.0040.00417.78
8.1.210.0090.00018.77
8.1.200.0000.00917.35
8.1.190.0030.00517.23
8.1.180.0050.00318.10
8.1.170.0030.00618.50
8.1.160.0000.00718.91
8.1.150.0050.00220.26
8.1.140.0050.00319.65
8.1.130.0000.00718.94
8.1.120.0040.00417.50
8.1.110.0030.00617.46
8.1.100.0000.00817.50
8.1.90.0050.00317.38
8.1.80.0050.00317.36
8.1.70.0050.00217.48
8.1.60.0000.00817.57
8.1.50.0040.00417.41
8.1.40.0060.00317.41
8.1.30.0040.00417.54
8.1.20.0040.00417.56
8.1.10.0040.00417.60
8.1.00.0000.00817.57
8.0.300.0040.00418.77
8.0.290.0000.00716.63
8.0.280.0000.00718.46
8.0.270.0030.00317.27
8.0.260.0040.00717.26
8.0.250.0000.00716.95
8.0.240.0060.00316.96
8.0.230.0000.00716.95
8.0.220.0040.00416.79
8.0.210.0000.00716.88
8.0.200.0000.00816.92
8.0.190.0000.00716.96
8.0.180.0000.00716.90
8.0.170.0000.00716.82
8.0.160.0000.00716.95
8.0.150.0000.00716.90
8.0.140.0030.00516.82
8.0.130.0000.00913.37
8.0.120.0000.00716.89
8.0.110.0040.00416.80
8.0.100.0050.00416.76
8.0.90.0000.00716.71
8.0.80.0040.01116.95
8.0.70.0040.00416.80
8.0.60.0040.00416.79
8.0.50.0040.00416.77
8.0.30.0090.00917.24
8.0.20.0120.00817.40
8.0.10.0040.00416.97
8.0.00.0100.00716.76
7.4.330.0030.00315.55
7.4.320.0000.00616.59
7.4.300.0060.00016.52
7.4.290.0000.00716.56
7.4.280.0030.00616.52
7.4.270.0050.00316.50
7.4.260.0080.00016.48
7.4.250.0000.00716.39
7.4.240.0020.00516.51
7.4.230.0070.00016.59
7.4.220.0120.00616.69
7.4.210.0100.00716.48
7.4.200.0000.00716.50
7.4.160.0020.01616.50
7.4.150.0100.00617.40
7.4.140.0120.00717.86
7.4.130.0090.00916.67
7.4.120.0130.01116.55
7.4.110.0150.00716.58
7.4.100.0130.01416.57
7.4.90.0150.00316.65
7.4.80.0110.00519.39
7.4.70.0000.01716.35
7.4.60.0160.00016.41
7.4.50.0060.00616.49
7.4.40.0070.01016.67
7.4.30.0040.01316.62
7.4.00.0050.01214.91
7.3.330.0030.00313.33
7.3.320.0060.00013.39
7.3.310.0040.00416.40
7.3.300.0070.00016.38
7.3.290.0070.00016.41
7.3.280.0090.00716.35
7.3.270.0120.00617.40
7.3.260.0110.00816.49
7.3.250.0130.00616.49
7.3.240.0100.01016.37
7.3.230.0100.00916.39
7.3.210.0100.00716.44
7.3.200.0180.00316.44
7.3.190.0140.00616.34
7.3.180.0070.01416.39
7.3.170.0040.01316.70
7.3.160.0100.00716.66
7.3.120.0090.00914.79
7.3.110.0100.00714.50
7.3.100.0040.00914.79
7.3.90.0090.00914.95
7.3.80.0000.00915.01
7.3.70.0090.00614.77
7.3.60.0120.00414.91
7.3.50.0030.01015.01
7.3.40.0070.00714.78
7.3.30.0080.00414.62
7.3.20.0000.01416.46
7.3.10.0070.00616.65
7.3.00.0040.01116.52
7.2.330.0150.00316.59
7.2.320.0130.01016.78
7.2.310.0100.01316.59
7.2.300.0170.00416.84
7.2.290.0080.00816.65
7.2.250.0070.01115.30
7.2.240.0130.00715.00
7.2.230.0100.00714.73
7.2.220.0060.00315.08
7.2.210.0040.00815.13
7.2.200.0080.00415.20
7.2.190.0060.01214.97
7.2.180.0060.00314.95
7.2.170.0070.01115.15
7.2.130.0060.00617.01
7.2.120.0030.01216.84
7.2.110.0090.00616.99
7.2.100.0090.00316.79
7.2.90.0110.00717.10
7.2.80.0060.00916.98
7.2.70.0030.00716.91
7.2.60.0100.00516.96
7.2.50.0080.00817.03
7.2.40.0110.00416.82
7.2.30.0030.01216.81
7.2.20.0000.01317.05
7.2.10.0130.00017.06
7.2.00.0060.00916.89
7.1.330.0000.01315.76
7.1.320.0100.00715.86
7.1.310.0090.00615.76
7.1.300.0030.00815.97
7.1.290.0060.00615.63
7.1.280.0030.01215.64
7.1.270.0030.00715.78
7.1.260.0060.00315.81
7.1.250.0060.00815.52
7.1.200.0000.01515.61
7.1.70.0030.01317.01
7.1.60.0000.01017.19
7.1.50.0030.02016.98
7.1.20.1670.06736.56
7.1.10.2600.07720.32
7.1.00.2400.07020.54
7.0.200.0060.01616.77
7.0.160.1130.07020.10
7.0.150.2500.07720.20
7.0.140.2200.07020.20
7.0.130.1330.04720.06
7.0.120.1570.07020.00
7.0.110.1230.05720.13
7.0.100.1730.06019.98
7.0.90.2200.08720.06
7.0.80.1230.06020.04
7.0.70.0130.09320.09
7.0.60.2470.05019.94
7.0.50.2800.08320.19
7.0.40.2200.07320.16
7.0.30.1970.05320.12
7.0.20.2100.07720.16
7.0.10.1870.05320.08
7.0.00.2300.06720.04

preferences:
91.97 ms | 400 KiB | 5 Q