3v4l.org

run code in 300+ PHP versions simultaneously
<?php <?php class DependencyContainer { /** * * @var array */ private $dependencies; /** * * @param string $key * @param string $value */ public function __set($key, $value) { $this->setDependency($key, $value); } /** * * @param string $name * @return mixed */ public function __get($name) { return $this->getDependency($name); } /** * * @param string $dependency_name * @param mixed $implementation * @throws InvalidArgumentException */ public function setDependency($dependency_name, $implementation) { if(!is_string($dependency_name)) throw new InvalidArgumentException( '$dependency_name must be a string! '.gettype($dependency_name).' given!' ); $this->dependencies[$dependency_name] = $implementation; } /** * * @param string $dependency_name * @throws InvalidArgumentException Wird geworfen wenn der erste Parameter kein String ist. * @throws OutOfRangeException Wird geworfen wenn für die Dependency keine Implementierung gesetzt wurde. * @return string */ public function getDependency($dependency_name) { if(!is_string($dependency_name)) throw new InvalidArgumentException( '$dependency_name must be a string! '.gettype($dependency_name).' given!' ); if(!isset($this->dependencies[$dependency_name])) throw new OutOfRangeException('No dependency set for '.$dependency_name.'!'); if(is_callable($this->dependencies[$dependency_name])) return $this->dependencies[$dependency_name]($this); else return $this->dependencies[$dependency_name]; } } ?> ?>

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)
5.4.50.0400.02716.57
5.4.40.0170.05716.43
5.4.30.0270.06716.55
5.4.20.0270.06016.55
5.4.10.0270.06716.38
5.4.00.0300.06015.81
5.3.150.0300.06314.50
5.3.140.0230.07314.41
5.3.130.0300.06714.43
5.3.120.0300.07014.47
5.3.110.0170.08014.42
5.3.100.0230.05313.90
5.3.90.0200.05013.98
5.3.80.0270.06314.04
5.3.70.0270.05313.89
5.3.60.0300.03713.85
5.3.50.0170.07313.89
5.3.40.0170.05313.89
5.3.30.0230.05313.96
5.3.20.0200.06713.62
5.3.10.0230.05013.68
5.3.00.0200.06713.73

preferences:
142.67 ms | 1394 KiB | 7 Q