3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class WorkUnitDataType { //============================================== // consts / vars //============================================== const NoneDataType = 0; const BoolDataType = 1; const StringDataType = 2; const ArrayDataType = 3; const JsonDataType = 4; const UrlDataType = 5; const FileDataType = 6; private $value; private $name; //============================================== // construct //============================================== protected function __construct() { $this->setByName(get_class($this)); } protected function setByValue($value) { if (is_int($value)) { $this->value = $value; $this->name = WorkUnitDataType::getNameFromConst($value); } } protected function setByName($name) { if (is_string($name)) { $this->value = $this->name = $name; } } //============================================== // accessing //============================================== public function toString() { return $this->name; } public function toValue() { return $this->value; } //============================================== // convenience //============================================== public static function None() { return new NoneDataType();} public static function Bool() { return new BoolDataType();} public static function String() { return new StringDataType();} public static function Array() { return new ArrayDataType();} public static function Json() { return new JsonDataType();} public static function Url() { return new UrlDataType();} public static function File() { return new FileDataType();} //============================================== // utility //============================================== public static function getNameFromConst($const) { $class = new ReflectionClass('WorkUnitDataType'); $constants = $class->getConstants(); foreach ($constants as $name => $value) { if ($value == $const) { return $name; } } return Null; } public static function getValueFromName($text) { $class = new ReflectionClass('WorkUnitDataType'); $constants = $class->getConstants(); foreach ($constants as $name => $value) { if ($name == $text) { return $value; } } return -1; } } class NoneDataType extends WorkUnitDataType {} class BoolDataType extends WorkUnitDataType {} class StringDataType extends WorkUnitDataType {} class ArrayDataType extends WorkUnitDataType {} class JsonDataType extends WorkUnitDataType {} class UrlDataType extends WorkUnitDataType {} class FileDataType extends WorkUnitDataType {} $a = WorkUnitDataType::None(); var_dump($a);

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.00718.30
8.3.50.0120.00721.28
8.3.40.0090.00618.53
8.3.30.0030.01018.79
8.3.20.0070.00020.37
8.3.10.0080.00021.85
8.3.00.0050.00323.74
8.2.180.0070.00718.06
8.2.170.0060.00822.96
8.2.160.0140.00020.52
8.2.150.0040.00424.18
8.2.140.0070.00024.66
8.2.130.0040.00419.64
8.2.120.0040.00426.35
8.2.110.0070.01421.06
8.2.100.0080.00417.80
8.2.90.0080.00019.27
8.2.80.0080.00017.97
8.2.70.0000.00917.50
8.2.60.0080.00017.80
8.2.50.0110.00018.07
8.2.40.0110.00020.41
8.2.30.0000.00719.41
8.2.20.0040.00417.64
8.2.10.0030.00518.02
8.2.00.0000.00717.91
8.1.280.0040.01425.92
8.1.270.0040.00423.92
8.1.260.0080.00028.09
8.1.250.0040.00428.09
8.1.240.0060.00322.45
8.1.230.0090.00319.16
8.1.220.0000.00817.74
8.1.210.0090.00018.77
8.1.200.0000.00917.25
8.1.190.0040.00417.10
8.1.180.0000.00918.10
8.1.170.0000.00818.58
8.1.160.0000.00720.78
8.1.150.0040.00418.78
8.1.140.0040.00419.61
8.1.130.0000.00717.61
8.1.120.0050.00217.30
8.1.110.0040.00417.32
8.1.100.0050.00317.40
8.1.90.0080.00017.43
8.1.80.0100.00017.31
8.1.70.0000.00817.34
8.1.60.0080.00017.61
8.1.50.0080.00017.45
8.1.40.0060.00317.54
8.1.30.0000.00917.61
8.1.20.0050.00317.54
8.1.10.0070.00017.61
8.1.00.0000.01017.57
8.0.300.0040.00418.77
8.0.290.0000.00716.63
8.0.280.0030.00318.45
8.0.270.0030.00317.08
8.0.260.0030.00317.25
8.0.250.0040.00416.84
8.0.240.0040.00416.91
8.0.230.0000.00716.92
8.0.220.0070.00316.75
8.0.210.0070.00016.85
8.0.200.0070.00016.89
8.0.190.0080.00016.97
8.0.180.0090.00016.93
8.0.170.0050.00316.80
8.0.160.0070.00016.83
8.0.150.0070.00016.81
8.0.140.0000.00716.70
8.0.130.0030.00313.31
8.0.120.0030.00616.85
8.0.110.0000.00716.82
8.0.100.0040.00416.90
8.0.90.0000.00716.70
8.0.80.0060.00916.77
8.0.70.0030.00516.67
8.0.60.0080.00016.89
8.0.50.0040.00416.83
8.0.30.0100.00917.11
8.0.20.0100.01517.40
8.0.10.0030.00516.75
8.0.00.0080.00916.69
7.4.330.0020.00216.71
7.4.320.0030.00316.56
7.4.300.0080.00016.63
7.4.290.0060.00016.55
7.4.280.0000.00916.63
7.4.270.0070.00016.65
7.4.260.0030.00316.45
7.4.250.0030.00316.57
7.4.240.0010.00716.61
7.4.230.0070.00016.45
7.4.220.0070.01116.66
7.4.210.0060.01216.61
7.4.200.0090.00016.68
7.4.160.0150.00316.49
7.4.150.0090.00917.40
7.4.140.0110.01117.86
7.4.130.0120.00816.45
7.4.120.0130.00716.63
7.4.110.0110.01116.39
7.4.100.0040.01416.59
7.4.90.0070.01116.67
7.4.80.0090.00819.39
7.4.70.0080.00816.49
7.4.60.0070.01316.44
7.4.50.0030.01316.49
7.4.40.0070.01016.74
7.4.30.0090.00916.32
7.4.00.0060.00914.85
7.3.330.0000.00713.11
7.3.320.0000.00613.30
7.3.310.0030.00516.32
7.3.300.0030.00316.33
7.3.290.0060.01016.32
7.3.280.0080.00916.32
7.3.270.0040.01517.40
7.3.260.0060.01216.39
7.3.250.0090.00916.43
7.3.240.0120.00516.44
7.3.230.0100.01016.39
7.3.210.0160.00316.52
7.3.200.0070.01319.39
7.3.190.0030.01416.29
7.3.180.0060.01016.56
7.3.170.0060.00916.30
7.3.160.0040.01216.40
7.3.10.0050.00716.53
7.3.00.0040.00516.66
7.2.330.0160.00616.70
7.2.320.0030.01516.75
7.2.310.0030.01316.60
7.2.300.0120.00616.45
7.2.290.0030.01316.61
7.2.130.0070.00716.93
7.2.120.0070.00516.94
7.2.110.0060.00816.85
7.2.100.0090.00516.95
7.2.90.0030.00816.80
7.2.80.0050.00716.98
7.2.70.0050.00816.88
7.2.60.0060.00616.96
7.2.50.0060.00817.03
7.2.40.0070.00717.02
7.2.30.0020.00817.00
7.2.20.0050.00916.87
7.2.10.0090.00616.82
7.2.00.0050.01017.53
7.1.250.0070.00515.63
7.1.200.0030.01015.84
7.1.100.0030.00918.00
7.1.70.0000.00716.95
7.1.60.0100.01319.18
7.1.50.0100.00316.96
7.1.00.0000.07722.48
7.0.200.0190.01316.38
7.0.100.0170.05319.97
7.0.90.0270.06720.07
7.0.80.0170.08720.17
7.0.70.0030.08319.95
7.0.60.0170.07019.93
7.0.50.0100.08320.35
7.0.40.0030.08320.15
7.0.30.0070.08020.00
7.0.20.0070.08020.15
7.0.10.0030.08720.10
7.0.00.0100.08019.94
5.6.280.0000.04020.93
5.6.250.0200.07020.79
5.6.240.0100.04720.68
5.6.230.0130.07720.52
5.6.220.0100.07720.50
5.6.210.0130.06720.64
5.6.200.0070.06321.05
5.6.190.0030.08020.98
5.6.180.0070.07021.03
5.6.170.0070.08321.12
5.6.160.0130.07321.06
5.6.150.0100.08321.10
5.6.140.0070.08021.06
5.6.130.0000.05721.00
5.6.120.0100.08021.03
5.6.110.0100.07721.09
5.6.100.0130.08021.10
5.6.90.0170.05721.04
5.6.80.0170.07020.38
5.6.70.0070.04720.43
5.6.60.0000.06720.44
5.6.50.0100.08020.31
5.6.40.0100.07320.55
5.6.30.0030.05720.39
5.6.20.0330.05020.47
5.6.10.0030.07720.44
5.6.00.0030.06020.39
5.5.380.0170.06720.44
5.5.370.0100.05720.46
5.5.360.0100.08020.43
5.5.350.0100.06720.40
5.5.340.0130.06020.77
5.5.330.0030.08720.91
5.5.320.0170.07320.93
5.5.310.0100.07720.82
5.5.300.0030.07720.93
5.5.290.0130.08020.89
5.5.280.0130.07720.75
5.5.270.0100.08320.89
5.5.260.0100.08720.75
5.5.250.0070.07720.71
5.5.240.0000.08320.18
5.5.230.0030.06720.29
5.5.220.0170.06020.17
5.5.210.0130.07720.13
5.5.200.0070.07320.01
5.5.190.0130.07320.16
5.5.180.0030.08720.20
5.5.160.0100.07320.23
5.5.150.0070.07320.14
5.5.140.0170.05720.24
5.5.130.0130.08020.14
5.5.120.0030.08320.29
5.5.110.0070.07320.14
5.5.100.0030.07320.00
5.5.90.0070.08320.12
5.5.80.0130.06720.05
5.5.70.0100.07720.02
5.5.60.0030.05720.07
5.5.50.0070.07720.05
5.5.40.0100.05720.16
5.5.30.0070.07020.11
5.5.20.0100.07720.07
5.5.10.0100.07720.04
5.5.00.0030.07319.98

preferences:
41.66 ms | 401 KiB | 5 Q