3v4l.org

run code in 300+ PHP versions simultaneously
<?php class ValueEncoder { public function encode($value) { $result = urlencode($value); return $result; } } class ValueDecoder { public function decode($value) { $result = urldecode($value); return $result; } } class RefEncoder { public function encode(&$value) { $value = urlencode($value); } } class RefDecoder { public function decode(&$value) { $value = urldecode($value); } } function genData() { return str_repeat('test', 5000000); } function valueTranscode() { $data = genData(); $encoder = new ValueEncoder(); $decoder = new ValueDecoder(); $data = $encoder->encode($data); $data = $decoder->decode($data); $data = strlen($data); } function refTranscode() { $data = genData(); $encoder = new RefEncoder(); $decoder = new RefDecoder(); $encoder->encode($data); $decoder->decode($data); $data = strlen($data); } $isRef = isset($argv[1]) && 'ref' === $argv[1]; echo ($isRef ? 'Ref: ' : 'Value: '); $s = microtime(true); for ($i = 0; $i < 10; ++$i) { if ($isRef) { refTranscode(); } else { valueTranscode(); } } $d = microtime(true) - $s; echo number_format($d, 2) . ' s, '; echo number_format(memory_get_peak_usage(true)/1000/1000,2) . ' MB'. 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.110.0320.00935.32
7.2.100.0270.01335.57
7.2.90.0960.00635.43
7.2.80.0510.00735.61
7.2.70.0530.00935.60
7.2.60.0580.00335.60
7.2.50.0510.00735.88
7.2.40.0240.00635.61
7.2.30.0200.01135.58
7.2.20.0450.01335.77
7.2.10.0620.00335.93
7.2.00.0510.01135.68
7.1.230.0570.00634.80
7.1.220.0330.00434.81
7.1.210.1220.00334.86
7.1.200.0140.01134.80
7.1.190.0740.01034.70
7.1.180.0520.00734.85
7.1.170.0600.00034.55
7.1.160.0590.00734.57
7.1.150.0160.02034.49
7.1.140.0350.02134.87
7.1.130.0450.01134.66
7.1.120.0280.00734.75
7.1.110.0650.01134.77
7.1.100.0580.01434.39
7.1.90.0770.01034.77
7.1.80.0420.00734.90
7.1.70.0250.00935.39
7.1.60.0290.01535.58
7.1.50.0310.01335.47
7.1.40.0580.01035.25
7.1.30.0630.01734.93
7.1.20.0240.01835.14
7.1.10.0480.01734.63
7.1.00.0240.04037.94
7.0.310.0170.00934.26
7.0.300.0440.00434.29
7.0.290.0630.00634.44
7.0.280.0560.01234.37
7.0.270.0420.01034.27
7.0.260.0450.01834.25
7.0.250.0160.01034.37
7.0.240.0630.00034.40
7.0.230.0120.01134.46
7.0.220.0500.00734.36
7.0.210.0550.00734.30
7.0.200.0630.00535.15
7.0.190.0440.00934.50
7.0.180.0470.00334.47
7.0.170.0230.00834.40
7.0.160.0570.01234.30
7.0.150.0390.00634.51
7.0.140.0320.04337.78
7.0.130.0460.00934.34
7.0.120.0350.03537.55
7.0.110.0720.01334.37
7.0.100.0330.00434.43
7.0.90.1170.01034.42
7.0.80.0750.00334.29
7.0.70.0370.01234.39
7.0.60.0330.04336.53
7.0.50.0400.05235.67
7.0.40.0320.03035.73
7.0.30.0480.04335.68
7.0.20.0490.03835.64
7.0.10.0350.04635.49
7.0.00.0280.04835.63
5.6.380.0180.00933.43
5.6.370.0320.00633.65
5.6.360.0240.00433.52
5.6.350.0230.00633.42
5.6.340.0280.00333.64
5.6.330.0170.01733.53
5.6.320.0180.01233.14
5.6.310.0200.00933.45
5.6.300.0220.00633.49
5.6.290.0220.01133.41
5.6.280.0180.03836.70
5.6.270.0260.00733.16
5.6.260.0180.01033.73
5.6.250.0240.00733.61
5.6.240.0240.00933.36
5.6.230.0230.00633.21
5.6.220.0200.00933.65
5.6.210.0130.04336.54
5.6.200.0220.03935.28
5.6.190.0200.05036.46
5.6.180.0370.04236.47
5.6.170.0380.04936.52
5.6.160.0190.03036.51
5.6.150.0160.02435.30
5.6.140.0190.02535.35
5.6.130.0190.03035.39
5.6.120.0130.03236.78
5.6.110.0160.02536.80
5.6.100.0200.03536.61
5.6.90.0210.03136.67
5.6.80.0180.04436.26
5.6.70.4910.01936.54
5.6.60.0100.01333.46
5.6.50.0170.01733.20
5.6.40.0220.00533.68
5.6.30.0170.01433.40
5.6.20.0210.00333.27
5.6.10.0240.00933.66
5.6.00.0210.00633.25
5.5.380.0070.01730.15
5.5.370.0180.00630.13
5.5.360.0150.01130.38
5.5.350.0510.03034.83
5.5.340.0150.03533.46
5.5.330.0140.02734.66
5.5.320.0460.03334.60
5.5.310.0340.03434.72
5.5.300.0150.04533.60
5.5.290.0120.05033.71
5.5.280.0150.04435.27
5.5.270.0180.04835.12
5.5.260.0220.04235.07
5.5.250.0130.02534.89
5.5.240.0330.03534.77
5.5.230.0210.01030.24
5.5.220.0100.01430.15
5.5.210.0140.01430.21
5.5.200.0070.01930.28
5.5.190.0140.00729.99
5.5.180.0180.00430.30
5.5.170.0240.00033.38
5.5.160.0100.01430.07
5.5.150.0240.00330.15
5.5.140.0230.00329.82
5.5.130.0160.00629.91
5.5.120.0180.00830.12
5.5.110.0240.00330.37
5.5.100.0140.01129.96
5.5.90.0160.00630.01
5.5.80.0200.00729.98
5.5.70.0200.00429.76
5.5.60.0140.01130.16
5.5.50.0230.00330.03
5.5.40.0220.00629.98
5.5.30.0170.01030.15
5.5.20.0170.00730.23
5.5.10.0230.00430.00
5.5.00.0190.00630.00
5.4.450.0200.04334.14
5.4.440.0200.04334.37
5.4.430.0190.02334.33
5.4.420.0220.02734.25
5.4.410.0190.03034.13
5.4.400.0160.04634.11
5.4.390.0170.04334.03
5.4.380.0210.02234.10
5.4.370.0110.03834.05
5.4.360.0140.03434.12
5.4.350.0250.02134.02
5.4.340.0200.04034.05
5.4.330.0130.00730.28
5.4.320.0140.04034.01
5.4.310.0180.04034.03
5.4.300.0130.02534.17
5.4.290.0170.03334.00
5.4.280.0140.04134.13
5.4.270.0100.05334.16
5.4.260.0180.03733.96
5.4.250.0140.03333.97
5.4.240.0130.02734.12
5.4.230.0160.03533.99
5.4.220.0190.02833.94
5.4.210.0220.03934.02
5.4.200.0120.02734.24
5.4.190.0170.03434.10
5.4.180.0120.02534.06
5.4.170.0070.03034.07
5.4.160.0160.02833.94
5.4.150.0190.04234.04
5.4.140.0170.03932.70
5.4.130.0170.04032.80
5.4.120.0230.02232.75
5.4.110.0220.03832.58
5.4.100.0160.04432.58
5.4.90.0130.04532.74
5.4.80.0220.02232.62
5.4.70.0150.04332.84
5.4.60.0130.03132.73
5.4.50.0170.02232.73
5.4.40.0150.02232.76
5.4.30.0150.02732.85
5.4.20.0150.02332.72
5.4.10.0120.04732.60
5.4.00.0120.02732.53
5.3.290.0140.02831.62
5.3.280.0160.02831.49
5.3.270.0190.02531.51
5.3.260.0140.04531.56
5.3.250.0150.04231.53
5.3.240.0200.04031.49
5.3.230.0140.03031.42
5.3.220.0180.03831.53
5.3.210.0210.03631.33
5.3.200.0120.04631.49
5.3.190.0190.02631.45
5.3.180.0240.03731.41
5.3.170.0130.04831.60
5.3.160.0190.02831.54
5.3.150.0230.03531.46
5.3.140.0130.02731.57
5.3.130.0260.04531.54
5.3.120.0160.02331.55
5.3.110.0220.02531.56
5.3.100.0120.04731.29
5.3.90.0260.03231.32
5.3.80.0160.02231.17
5.3.70.0130.02431.09
5.3.60.0190.02531.23
5.3.50.0190.03931.14
5.3.40.0190.02231.01
5.3.30.0120.02531.14
5.3.20.0070.04130.86
5.3.10.0180.03030.91
5.3.00.0150.03830.86
5.2.170.0160.02129.21
5.2.160.0130.02529.16
5.2.150.0120.02829.11
5.2.140.0160.02729.08
5.2.130.0170.03129.09
5.2.120.0170.02729.17
5.2.110.0100.02729.20
5.2.100.0140.03329.09
5.2.90.0120.03629.05
5.2.80.0130.04029.04
5.2.70.0110.02528.92
5.2.60.0170.01829.00
5.2.50.0130.03929.10
5.2.40.0210.02029.04
5.2.30.0130.03828.96
5.2.20.0180.01828.91
5.2.10.0160.01728.90
5.2.00.0610.50447.85
5.1.60.0860.46346.97
5.1.50.0750.49446.98
5.1.40.0800.55347.17
5.1.30.0800.47347.30
5.1.20.0710.50747.50
5.1.10.0840.48047.13
5.1.00.0830.48447.27
5.0.50.1030.45546.06
5.0.40.1050.48745.88
5.0.30.0980.66645.45
5.0.20.0780.49545.66
5.0.10.0810.48645.58
5.0.00.0870.77045.50
4.4.90.0030.01010.47
4.4.80.0020.00910.47
4.4.70.0020.01310.47
4.4.60.0050.00810.47
4.4.50.0020.01410.47
4.4.40.0040.01310.47
4.4.30.0020.02010.47
4.4.20.0020.01310.47
4.4.10.0020.02010.47
4.4.00.0030.01510.47
4.3.110.0020.00810.47
4.3.100.0000.02010.47
4.3.90.0040.00810.47
4.3.80.0030.02310.47
4.3.70.0040.00710.47
4.3.60.0030.01010.47
4.3.50.0020.01810.47
4.3.40.0040.01410.47
4.3.30.0000.01210.47
4.3.20.0020.00910.47
4.3.10.0000.02010.47
4.3.00.0010.01110.47

preferences:
36.39 ms | 401 KiB | 5 Q