3v4l.org

run code in 300+ PHP versions simultaneously
<?php // simulate network latency in seconds $seconds = 0.2; usleep($seconds * 1000000); function randomAverageSpeed() { return rand(5, 15); } class Runner { public $age, $distance, $time, $averageSpeed, $distanceKind; public function __construct($age, $distance, $time, $averageSpeed) { $this->age = $age; $this->distance = $distance; $this->time = $time; $this->averageSpeed = $averageSpeed; $this->distanceKind = $this->distanceKindConverter($distance); } private function distanceKindConverter($distanceAmount) { $distances = array( 5 => '', 10 => 'long', 7.195 => 'medium' ); return $distances[$distanceAmount]; } } $team1 = array( 'Piet' => new Runner(39, 5, 0, randomAverageSpeed()), 'Ellen' => new Runner(19, 10, 0, randomAverageSpeed()), 'Jan' => new Runner(32, 5, 0, randomAverageSpeed()), 'Petra' => new Runner(27, 10, 0, randomAverageSpeed()), 'Kees' => new Runner(15, 5, 0, randomAverageSpeed()), 'Kate' => new Runner(18, 7.195, 0, randomAverageSpeed()) ); $team2 = array( 'Klaas' => new Runner(46, 5, 0, randomAverageSpeed()), 'Beatrix' => new Runner(52, 10, 0, randomAverageSpeed()), 'Willem' => new Runner(34, 5, 0, randomAverageSpeed()), 'Alexander' => new Runner(30, 10, 0, randomAverageSpeed()), 'Maxima' => new Runner(44, 5, 0, randomAverageSpeed()), 'Amalia' => new Runner(26, 7.195, 0, randomAverageSpeed()) ); $team3 = array( 'Huub' => new Runner(55, 5, 0, randomAverageSpeed()), 'Nelly' => new Runner(50, 10, 0, randomAverageSpeed()), 'Rene' => new Runner(43, 5, 0, randomAverageSpeed()), 'Tatjana' => new Runner(45, 10, 0, randomAverageSpeed()), 'Boris' => new Runner(28, 5, 0, randomAverageSpeed()), 'Wodan' => new Runner(23, 7.195, 0, randomAverageSpeed()) ); $teams = array( 'Team 1' => $team1, 'Team 2' => $team2, 'Team 3' => $team3, ); if (isset($_GET['getAllTeamData'])) { echo json_encode($teams); } if (isset($_GET['getLatestTeamDistanceData'])) { $teamsStats = [ 'Team 1' => rand(0, 1), 'Team 2' => rand(0, 1), 'Team 3' => rand(0, 1), ]; echo json_encode($teamsStats); } if (isset($_GET['getRunnerInfo'])) { $searchRunnerValue = trim($_GET['getRunnerInfo']); foreach ($teams as $key => $value) { foreach ($teams[$key] as $runner => $data) { if ($searchRunnerValue === $runner) { // remove some data unset($teams[$key][$runner]->distanceKind); unset($teams[$key][$runner]->time); unset($teams[$key][$runner]->averageSpeed); echo json_encode($teams[$key][$runner]); return; } } } if ($searchRunnerValue !== '') { echo 'ERROR: runner <strong>' . $searchRunnerValue . '</strong> not found!'; } else { echo 'ERROR: no runner name given!'; } }

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.4.10.0090.00914.77
7.4.00.0100.01015.12
7.3.130.0100.01015.06
7.3.120.0090.01116.15
7.3.110.0100.00815.96
7.3.100.0100.00415.96
7.3.90.0020.01415.88
7.3.80.0080.01016.19
7.3.70.0060.01015.89
7.3.60.0120.00715.80
7.3.50.0060.01016.07
7.3.40.0080.00916.05
7.3.30.0050.01316.06
7.3.20.0100.00716.83
7.3.10.0060.00916.82
7.3.00.0070.01016.93
7.2.260.0040.01415.07
7.2.250.0100.01014.81
7.2.240.0080.01116.07
7.2.230.0040.01516.15
7.2.220.0090.01016.09
7.2.210.0100.00816.13
7.2.200.0100.00816.18
7.2.190.0040.01616.00
7.2.180.0090.00516.06
7.2.170.0110.00816.06
7.2.160.0120.00516.17
7.2.150.0030.01317.03
7.2.140.0080.01116.96
7.2.130.0080.01116.90
7.2.120.0060.01317.09
7.2.110.0090.00817.02
7.2.100.0070.01017.04
7.2.90.0140.00516.98
7.2.80.0060.01117.15
7.2.70.0080.01017.10
7.2.60.0080.01116.84
7.2.50.0080.00917.07
7.2.40.0120.00517.07
7.2.30.0060.01116.81
7.2.20.0070.01117.03
7.2.10.0030.01716.94
7.2.00.0060.01417.06
7.1.330.0050.01116.47
7.1.320.0090.00916.28
7.1.310.0030.01316.55
7.1.300.0050.01416.41
7.1.290.0100.00716.52
7.1.280.0080.00916.31
7.1.270.0100.00916.46
7.1.260.0050.01216.39
7.1.250.0050.01216.60
7.1.240.0060.01015.75
7.1.230.0030.01315.66
7.1.220.0080.00815.66
7.1.210.0000.01615.39
7.1.200.0070.00715.55
7.1.190.0080.01015.80
7.1.180.0070.01015.80
7.1.170.0060.01015.71
7.1.160.0070.00715.80
7.1.150.0130.00315.59
7.1.140.0040.01215.82
7.1.130.0070.00715.70
7.1.120.0110.00715.69
7.1.110.0110.00715.35
7.1.100.0030.01615.71
7.1.90.0090.00615.61
7.1.80.0070.01015.64
7.1.70.0040.00916.51
7.1.60.0110.01117.52
7.1.50.0050.00716.25
7.1.40.0070.01015.82
7.1.30.0090.00915.70
7.1.20.0080.00815.58
7.1.10.0030.01315.66
7.1.00.0030.02318.93
7.0.330.0070.01015.45
7.0.320.0110.00815.38
7.0.310.0150.00015.25
7.0.300.0000.01415.45
7.0.290.0070.01015.16
7.0.280.0030.01415.21
7.0.270.0090.00915.29
7.0.260.0100.00615.62
7.0.250.0030.01415.41
7.0.240.0120.00315.21
7.0.230.0030.01015.50
7.0.220.0130.00015.38
7.0.210.0030.01315.21
7.0.200.0020.00915.87
7.0.190.0060.00915.39
7.0.180.0060.01214.93
7.0.170.0040.01415.21
7.0.160.0060.01015.14
7.0.150.0070.00715.38
7.0.140.0030.04518.59
7.0.130.0070.01114.90
7.0.120.0040.01415.17
7.0.110.0100.00715.46
7.0.100.0000.01715.29
7.0.90.0030.02817.52
7.0.80.0030.02817.66
7.0.70.0050.02217.82
7.0.60.0260.02617.64
7.0.50.0310.02817.97
7.0.40.0070.04516.80
7.0.30.0070.04316.84
7.0.20.0070.04516.69
7.0.10.0080.04716.75
7.0.00.0130.04016.50
5.6.400.0100.01014.46
5.6.390.0060.01314.59
5.6.380.0060.01714.41
5.6.370.0030.01314.02
5.6.360.0040.01514.20
5.6.350.0030.01314.01
5.6.340.0050.01014.35
5.6.330.0060.01014.43
5.6.320.0100.01014.05
5.6.310.0070.00714.33
5.6.300.0040.01014.09
5.6.290.0170.00014.12
5.6.280.0050.04317.83
5.6.270.0000.01314.48
5.6.260.0060.00914.57
5.6.250.0030.01314.23
5.6.240.0030.03117.64
5.6.230.0060.03217.63
5.6.220.0020.02917.45
5.6.210.0030.02517.44
5.6.200.0070.02417.83
5.6.190.0110.04617.50
5.6.180.0160.03717.68
5.6.170.0070.04417.56
5.6.160.0110.04317.72
5.6.150.0080.04917.84
5.6.140.0120.04517.47
5.6.130.0130.03317.65
5.6.120.0130.04317.59
5.6.110.0030.05017.72
5.6.100.0070.04617.58
5.6.90.0050.04817.57
5.6.80.0070.05017.34
5.6.70.0070.03917.39
5.6.60.0060.04817.46
5.6.50.0070.04517.41
5.6.40.0100.04317.14
5.6.30.0080.04317.32
5.6.20.0090.03917.14
5.6.10.0060.04817.27
5.6.00.0070.04017.34
5.5.380.0080.03117.38
5.5.370.0030.04117.38
5.5.360.0050.04017.46
5.5.350.0070.02517.42
5.5.340.0100.02117.72
5.5.330.0070.04317.58
5.5.320.0000.04417.73
5.5.310.0070.03617.59
5.5.300.0130.04017.64
5.5.290.0070.04617.63
5.5.280.0070.04717.64
5.5.270.0160.03817.56
5.5.260.0100.04517.56
5.5.250.0030.04217.53
5.5.240.0100.04417.21
5.5.230.0130.04217.30
5.5.220.0070.04517.31
5.5.210.0040.04917.22
5.5.200.0070.04717.15
5.5.190.0090.04617.27
5.5.180.0120.04417.05
5.5.170.0000.01814.10
5.5.160.0080.04316.97
5.5.150.0080.04317.22
5.5.140.0090.04217.19
5.5.130.0070.04617.41
5.5.120.0080.04217.25
5.5.110.0030.05117.30
5.5.100.0100.03617.21
5.5.90.0050.04717.24
5.5.80.0050.04417.17
5.5.70.0080.04717.04
5.5.60.0130.04017.09
5.5.50.0100.03017.31
5.5.40.0100.03217.27
5.5.30.0030.03217.24
5.5.20.0100.03617.18
5.5.10.0060.04517.17
5.5.00.0110.04117.01
5.4.450.0100.04115.19
5.4.440.0050.04815.03
5.4.430.0090.03915.32
5.4.420.0100.04115.40
5.4.410.0060.03415.40
5.4.400.0080.02515.21
5.4.390.0020.04615.12
5.4.380.0060.04415.07
5.4.370.0070.04115.02
5.4.360.0040.03315.04
5.4.350.0100.03815.01
5.4.340.0090.03415.16
5.4.330.0040.00811.14
5.4.320.0100.03915.04
5.4.310.0100.03715.08
5.4.300.0100.04414.92
5.4.290.0020.04514.95
5.4.280.0080.04115.02
5.4.270.0060.03815.13
5.4.260.0030.04414.87
5.4.250.0090.04115.20
5.4.240.0080.04115.24
5.4.230.0050.04314.89
5.4.220.0090.02314.99
5.4.210.0060.04314.84
5.4.200.0040.04214.99
5.4.190.0030.04715.08
5.4.180.0030.04615.09
5.4.170.0130.03515.05
5.4.160.0040.03614.97
5.4.150.0080.04215.06
5.4.140.0030.04113.86
5.4.130.0080.04213.84
5.4.120.0060.03813.56
5.4.110.0050.03813.95
5.4.100.0080.02213.80
5.4.90.0090.03413.74
5.4.80.0080.03813.77
5.4.70.0030.04113.84
5.4.60.0060.04313.82
5.4.50.0070.03913.83
5.4.40.0040.04413.72
5.4.30.0070.04013.84
5.4.20.0100.03613.75
5.4.10.0090.03313.85
5.4.00.0030.04413.55
5.3.290.0070.03912.57
5.3.280.0060.04012.42
5.3.270.0050.04312.48
5.3.260.0040.04112.44
5.3.250.0070.02212.33
5.3.240.0030.04012.32
5.3.230.0020.04512.35
5.3.220.0060.03612.43
5.3.210.0020.03012.44
5.3.200.0050.02312.29
5.3.190.0030.04112.48
5.3.180.0050.03512.66
5.3.170.0000.04612.51
5.3.160.0030.04012.47
5.3.150.0080.03112.41
5.3.140.0010.04512.46
5.3.130.0060.03912.48
5.3.120.0030.04312.51
5.3.110.0070.04012.42
5.3.100.0070.04112.09
5.3.90.0050.03512.21
5.3.80.0110.01812.21
5.3.70.0130.03512.25
5.3.60.0110.03712.20
5.3.50.0050.03012.14
5.3.40.0080.03212.17
5.3.30.0050.04012.10
5.3.20.0080.03512.07
5.3.10.0030.02811.93
5.3.00.0110.02311.83
5.2.170.0030.06011.23
5.2.160.0170.02711.23
5.2.150.0100.05711.23
5.2.140.0100.05311.10
5.2.130.0070.06011.13
5.2.120.0100.03711.02
5.2.110.0030.03311.04
5.2.100.0100.06011.23
5.2.90.0070.05311.22
5.2.80.0100.03011.23
5.2.70.0100.05711.14
5.2.60.0100.06010.99
5.2.50.0070.06010.98
5.2.40.0100.04311.04
5.2.30.0000.04310.98
5.2.20.0000.06310.89
5.2.10.0030.04710.88
5.2.00.0000.04310.70
5.1.60.0130.04310.09
5.1.50.0000.03010.11
5.1.40.0000.03010.11
5.1.30.0030.05310.37
5.1.20.0130.04710.38
5.1.10.0070.04710.18
5.1.00.0070.0509.99
5.0.50.0070.0338.57
5.0.40.0000.0308.45
5.0.30.0070.0438.30
5.0.20.0070.0408.30
5.0.10.0070.0138.21
5.0.00.0030.0538.31
4.4.90.0000.0406.98
4.4.80.0000.0376.98
4.4.70.0070.0206.98
4.4.60.0030.0336.98
4.4.50.0030.0336.98
4.4.40.0100.0476.98
4.4.30.0030.0136.98
4.4.20.0000.0406.98
4.4.10.0000.0276.98
4.4.00.0000.0436.98
4.3.110.0000.0376.98
4.3.100.0000.0176.98
4.3.90.0000.0306.98
4.3.80.0030.0506.98
4.3.70.0030.0306.98
4.3.60.0030.0376.98
4.3.50.0070.0306.98
4.3.40.0000.0536.98
4.3.30.0000.0376.98
4.3.20.0000.0406.98
4.3.10.0030.0336.98
4.3.00.0030.0206.98

preferences:
28.5 ms | 400 KiB | 5 Q