3v4l.org

run code in 300+ PHP versions simultaneously
<?php abstract class Catalog_Model_DbSelect_Abstract { /** All created instances so far */ protected static $_instances = array(); protected $property; /** * Gets the singleton of a select statement * @param array|string $args The arguments arguments that are needed to build the select (e.g. attribute set names, product types). * @return Catalog_Model_DbSelect_Abstract The select instance */ public static function getInstance($args = null) { $class = get_called_class(); $key = $class . (is_array($args) ? implode('_', $args) : $args); if (!array_key_exists($key, static::$_instances)) { static::$_instances[$key] = new $class($args); } return clone static::$_instances[$key]; } public function setProperty($property) { $this->property=$property;} public function getProperty() { return $this->property;} } class DerivedClass1 extends Catalog_Model_DbSelect_Abstract {} class DerivedClass2 extends Catalog_Model_DbSelect_Abstract {} class DerivedClass3 extends Catalog_Model_DbSelect_Abstract {} class DerivedClass4 extends Catalog_Model_DbSelect_Abstract {} class DerivedClass5 extends Catalog_Model_DbSelect_Abstract {} class DerivedClass6 extends Catalog_Model_DbSelect_Abstract {} class DerivedClass7 extends Catalog_Model_DbSelect_Abstract {} class DerivedClass8 extends Catalog_Model_DbSelect_Abstract {} class DerivedClass9 extends Catalog_Model_DbSelect_Abstract {} $mem = memory_get_usage(); for ($i=1;$i<10;$i++) { $varname = 'instance' . $i; $classname = 'DerivedClass' . $i; $$varname = $classname::getInstance('foo'); echo 'memory usage: ' . memory_get_usage() - $mem . PHP_EOL; }

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)
7.2.00.0000.01619.24
7.1.70.0040.00417.01
7.1.60.0060.01919.27
7.1.50.0140.01116.69
7.1.00.0030.07722.50
7.0.200.0070.00716.86
7.0.140.0030.07322.09
7.0.100.0030.08319.96
7.0.90.0070.05319.96
7.0.80.0100.08019.98
7.0.70.0000.05319.96
7.0.60.0130.08320.00
7.0.50.0100.04720.41
7.0.40.0100.07020.00
7.0.30.0230.04320.14
7.0.20.0100.08020.14
7.0.10.0070.08020.13
7.0.00.0100.06020.10
5.6.280.0100.09020.85
5.6.250.0100.07720.63
5.6.240.0030.04720.76
5.6.230.0070.08020.66
5.6.220.0070.05020.56
5.6.210.0030.08320.70
5.6.200.0130.07021.07
5.6.190.0070.08321.12
5.6.180.0030.06321.07
5.6.170.0030.08020.98
5.6.160.0070.04321.21
5.6.150.0030.04321.04
5.6.140.0070.07320.96
5.6.130.0130.08021.04
5.6.120.0000.07021.07
5.6.110.0030.08721.05
5.6.100.0070.06320.98
5.6.90.0070.05321.15
5.6.80.0100.08020.53
5.6.70.0130.06720.60
5.6.60.0030.08020.49
5.6.50.0100.03720.58
5.6.40.0070.08320.35
5.6.30.0130.04320.45
5.6.20.0070.08020.46
5.6.10.0130.07020.51
5.6.00.0100.08320.39
5.5.380.0000.07320.45
5.5.370.0100.05020.38
5.5.360.0170.07320.53
5.5.350.0100.07320.42
5.5.340.0030.04720.91
5.5.330.0200.05320.81
5.5.320.0170.07320.83
5.5.310.0070.08720.89
5.5.300.0030.08320.93
5.5.290.0070.06320.79
5.5.280.0100.08320.84
5.5.270.0100.07720.89
5.5.260.0000.05720.90
5.5.250.0130.07720.69
5.5.240.0000.09020.15
5.5.230.0030.08320.21
5.5.220.0030.08020.20
5.5.210.0170.04320.29
5.5.200.0130.07020.27
5.5.190.0130.06720.24
5.5.180.0130.05320.28
5.5.160.0100.07320.16
5.5.150.0130.06720.18
5.5.140.0070.08320.27
5.5.130.0170.07320.18
5.5.120.0070.05320.30
5.5.110.0070.07720.01
5.5.100.0100.08020.05
5.5.90.0100.04720.07
5.5.80.0130.07020.16
5.5.70.0030.08320.09
5.5.60.0070.06020.05
5.5.50.0030.07720.11
5.5.40.0130.07020.15
5.5.30.0030.08020.19
5.5.20.0070.08320.19
5.5.10.0130.07320.15
5.5.00.0070.07720.20
5.4.450.0200.07019.28
5.4.440.0030.09019.53
5.4.430.0130.05019.48
5.4.420.0030.07319.44
5.4.410.0170.06719.44
5.4.400.0130.07019.05
5.4.390.0100.07719.04
5.4.380.0100.07719.14
5.4.370.0000.05019.21
5.4.360.0030.07319.18
5.4.350.0100.06719.06
5.4.340.0030.08319.13
5.4.320.0100.07319.05
5.4.310.0030.08719.14
5.4.300.0130.07019.20
5.4.290.0070.07319.13
5.4.280.0070.06019.02
5.4.270.0030.04719.16
5.4.260.0100.06719.12
5.4.250.0130.07019.04
5.4.240.0170.06319.13
5.4.230.0070.08019.02
5.4.220.0030.07719.04
5.4.210.0030.08019.16
5.4.200.0130.03719.23
5.4.190.0000.05318.86
5.4.180.0070.07719.20
5.4.170.0130.08718.84
5.4.160.0100.07319.12
5.4.150.0070.07719.20
5.4.140.0100.07016.39
5.4.130.0030.07716.25
5.4.120.0170.06316.38
5.4.110.0170.06316.54
5.4.100.0030.07716.36
5.4.90.0130.06716.39
5.4.80.0130.06016.38
5.4.70.0030.07316.55
5.4.60.0030.06316.50
5.4.50.0000.06716.37
5.4.40.0130.03716.42
5.4.30.0130.07016.34
5.4.20.0100.06716.32
5.4.10.0070.06016.33
5.4.00.0100.06715.89
5.3.290.0030.08314.81
5.3.280.0130.08014.64
5.3.270.0070.07714.62
5.3.260.0030.05014.70
5.3.250.0070.06714.74
5.3.240.0130.07014.63
5.3.230.0070.07714.75
5.3.220.0070.08014.68
5.3.210.0130.06714.59
5.3.200.0100.07314.54
5.3.190.0100.07014.66
5.3.180.0030.04714.58
5.3.170.0100.04714.66
5.3.160.0000.07314.56
5.3.150.0070.07314.54
5.3.140.0100.06714.63
5.3.130.0070.07714.56
5.3.120.0070.04714.54
5.3.110.0070.07314.64
5.3.100.0070.07014.18
5.3.90.0030.07014.18
5.3.80.0100.06714.18
5.3.70.0000.05714.18
5.3.60.0030.08014.18
5.3.50.0070.07714.18
5.3.40.0030.07314.18
5.3.30.0100.07014.18
5.3.20.0030.04714.18
5.3.10.0070.06714.18
5.3.00.0070.07014.18

preferences:
38.51 ms | 400 KiB | 5 Q