3v4l.org

run code in 300+ PHP versions simultaneously
<?php define("TYPE", "CLI"); abstract class View { protected $imp; public function __construct() { if (TYPE == 'CLI') $this->imp = new ViewImplCli(); else if (TYPE == 'JSON') $this->imp = new ViewImplJson(); else throw new Exception('Unknown environment'); } public function addText($text) { return $this->imp->addText($text); } public function addLine() { return $this->imp->addLine(); } public function getResult() { print $this->imp->getResult(); } } class ViewContent extends View { public function printParagraph($text) { $this->addText($text); } } class ViewTable extends View { public function addCell($text) { $this->addLine(); $this->addText($text); $this->addLine(); } } abstract class ViewImpl { abstract public function addText($text); abstract public function addLine(); abstract public function getResult(); } class ViewImplCli extends ViewImpl { protected $result = ""; public function addLine() { $this->result .= str_repeat('-', 80).PHP_EOL; } public function addText($text) { $this->result .= $text.PHP_EOL; } public function getResult() { return $this->result; } } class ViewImplJson extends ViewImpl { protected $result = array(); public function addLine() { $this->result[] = array('type' => 'line'); } public function addText($text) { $this->result[] = array('type' => 'text', 'text' => $text); } public function getResult() { return json_encode($this->result); } } $content = new ViewContent(); $content->printParagraph('Hello world'); echo $content->getResult(); $table = new ViewTable(); $table->addCell('I am cell'); echo $table->getResult();

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.0190.00316.75
8.3.50.0110.00316.36
8.3.40.0140.00718.70
8.3.30.0060.00918.72
8.3.20.0020.00521.91
8.3.10.0080.00021.96
8.3.00.0080.00019.91
8.2.180.0120.00316.75
8.2.170.0110.00422.96
8.2.160.0050.00920.22
8.2.150.0040.00424.18
8.2.140.0080.00024.66
8.2.130.0050.00220.43
8.2.120.0070.00026.35
8.2.110.0100.00022.07
8.2.100.0110.00317.91
8.2.90.0080.00019.30
8.2.80.0080.00018.00
8.2.70.0050.00317.63
8.2.60.0000.00918.03
8.2.50.0030.00618.10
8.2.40.0000.00820.47
8.2.30.0000.00820.97
8.2.20.0040.00418.21
8.2.10.0030.00518.10
8.2.00.0000.00818.17
8.1.280.0090.00925.92
8.1.270.0000.00820.73
8.1.260.0040.00426.35
8.1.250.0070.00028.09
8.1.240.0030.00623.84
8.1.230.0070.00422.12
8.1.220.0040.00417.79
8.1.210.0000.00918.77
8.1.200.0060.00617.35
8.1.190.0030.00617.35
8.1.180.0050.00318.10
8.1.170.0050.00320.39
8.1.160.0000.00718.95
8.1.150.0000.00820.67
8.1.140.0070.00019.59
8.1.130.0000.00720.67
8.1.120.0040.00417.45
8.1.110.0040.00417.40
8.1.100.0080.00017.38
8.1.90.0040.00417.42
8.1.80.0000.00717.50
8.1.70.0030.00317.43
8.1.60.0060.00317.56
8.1.50.0060.00317.55
8.1.40.0000.00817.48
8.1.30.0000.00817.61
8.1.20.0000.00917.62
8.1.10.0040.00417.60
8.1.00.0000.00717.55
8.0.300.0000.00718.77
8.0.290.0040.00416.75
8.0.280.0000.00718.34
8.0.270.0070.00017.21
8.0.260.0050.00318.86
8.0.250.0000.00716.98
8.0.240.0000.00716.95
8.0.230.0050.00216.91
8.0.220.0030.00316.86
8.0.210.0040.00416.82
8.0.200.0070.00016.99
8.0.190.0130.00016.98
8.0.180.0070.00316.91
8.0.170.0000.00716.95
8.0.160.0040.00416.80
8.0.150.0040.00416.89
8.0.140.0070.00016.80
8.0.130.0030.00313.34
8.0.120.0050.00316.90
8.0.110.0000.00716.97
8.0.100.0000.00716.75
8.0.90.0050.00216.76
8.0.80.0060.00916.86
8.0.70.0040.00416.93
8.0.60.0040.00416.81
8.0.50.0040.00416.93
8.0.30.0140.00717.18
8.0.20.0110.00817.40
8.0.10.0040.00416.99
8.0.00.0070.01116.86
7.4.330.0030.00315.55
7.4.320.0040.00416.51
7.4.300.0030.00316.51
7.4.290.0060.00016.53
7.4.280.0000.00816.52
7.4.270.0000.00816.52
7.4.260.0000.00816.50
7.4.250.0040.00416.47
7.4.240.0040.00416.60
7.4.230.0000.00716.66
7.4.220.0080.01116.51
7.4.210.0070.00716.57
7.4.200.0050.00316.51
7.4.160.0080.01016.66
7.4.150.0090.00917.40
7.4.140.0100.01017.86
7.4.130.0090.01216.59
7.4.120.0140.00616.52
7.4.110.0100.00716.41
7.4.100.0030.01616.46
7.4.90.0110.00616.48
7.4.80.0060.01219.39
7.4.70.0170.00316.47
7.4.60.0120.00316.53
7.4.50.0150.00316.41
7.4.40.0030.01316.35
7.4.30.0120.00616.54
7.4.00.0040.01414.86
7.3.330.0000.00613.20
7.3.320.0030.00313.31
7.3.310.0040.00416.20
7.3.300.0000.00716.34
7.3.290.0060.01016.33
7.3.280.0110.00816.31
7.3.270.0150.00317.40
7.3.260.0110.00916.42
7.3.250.0120.00516.34
7.3.240.0070.01016.51
7.3.230.0160.00016.45
7.3.210.0140.00416.54
7.3.200.0070.01016.34
7.3.190.0060.01616.39
7.3.180.0090.00616.33
7.3.170.0130.00316.57
7.3.160.0040.01216.22
7.3.10.0070.01016.40
7.3.00.0060.01016.49
7.2.330.0140.00416.71
7.2.320.0030.01616.75
7.2.310.0060.01216.79
7.2.300.0000.01616.73
7.2.290.0030.01416.80
7.2.130.0120.00816.65
7.2.120.0080.00716.97
7.2.110.0150.00316.63
7.2.100.0070.01116.61
7.2.90.0110.00616.60
7.2.80.0050.00916.86
7.2.70.0090.00716.72
7.2.60.0090.00416.79
7.2.50.0080.00516.80
7.2.40.0080.00916.69
7.2.30.0030.01116.64
7.2.20.0080.00816.49
7.2.10.0030.00816.76
7.2.00.0070.00716.90
7.1.250.0100.00515.69
7.1.200.0040.00815.50
7.1.70.0000.00717.21
7.1.60.1570.01332.98
7.1.50.1330.01732.85
7.1.40.1070.01032.50
7.1.30.0970.02732.67
7.1.20.0670.02032.60
7.1.10.0630.01714.79
7.1.00.0530.00714.72
7.0.200.1300.01014.87
7.0.190.1000.01315.09
7.0.180.0670.01014.54
7.0.170.1000.01014.48
7.0.160.0900.01714.64
7.0.150.0670.01314.39
7.0.140.0900.01014.66
7.0.130.1230.02014.96
7.0.120.0530.00714.77
7.0.110.0400.01714.41
7.0.100.0800.01714.61
7.0.90.0600.01714.41
7.0.80.0770.01014.43
7.0.70.0430.01314.40
7.0.60.0430.00714.23
7.0.50.0370.01014.69
7.0.40.0330.01714.88
7.0.30.0470.01014.63
7.0.20.0530.01314.57
7.0.10.0700.01014.68
7.0.00.0670.01714.48

preferences:
61.85 ms | 401 KiB | 5 Q