3v4l.org

run code in 300+ PHP versions simultaneously
<?php class PassphraseException extends Exception {} class PassphraseTooShortException extends PassphraseException {} class PassphraseTooLongException extends PassphraseException {} class PassphraseRequiresLetterException extends PassphraseException {} class PassphraseRequiresNumberOrSpecialException extends PassphraseException {} class Passphrase { static function validate($passphrase) { $len = strlen($passphrase); if ($len < 15) { throw new PassphraseTooShortException('Jesus fucking christ, read the requirements you fuck!'); } if ($len > 140) { throw new PassphraseTooLongException('Are you fucking kidding me? How are you going to remember this shit...'); } $no_alpha = str_replace(str_split('abcdefghijklmnopqrstuvwxyz'), '', strtolower($passphrase)); if ($no_alpha === $passphrase) { throw new PassphraseRequiresLetterException('Fucking idiot.'); } if ($no_alpha === '') { throw new PassphraseRequiresNumberOrSpecialException('You fucking fuck, fuck you fucking fucker fuckface fuck.'); } } static function isValid($passphrase) { try { static::validate($passphrase); } catch (PassphraseException $e) { return false; } return true; } } var_dump(Passphrase::isValid('It was the best of times, it was the worst of times.'));

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.0120.00318.43
8.3.50.0150.00521.92
8.3.40.0070.01418.80
8.3.30.0110.00418.72
8.3.20.0050.00318.68
8.3.10.0050.00321.15
8.3.00.0000.00819.69
8.2.180.0120.00918.38
8.2.170.0070.00722.96
8.2.160.0100.01020.47
8.2.150.0060.00324.18
8.2.140.0080.00024.66
8.2.130.0050.00326.16
8.2.120.0050.00221.04
8.2.110.0090.00022.05
8.2.100.0040.00817.91
8.2.90.0050.00219.23
8.2.80.0040.00419.38
8.2.70.0030.00517.50
8.2.60.0050.00317.80
8.2.50.0080.00018.07
8.2.40.0070.00018.09
8.2.30.0000.00721.21
8.2.20.0080.00017.65
8.2.10.0070.00017.68
8.2.00.0000.00817.55
8.1.280.0110.00425.92
8.1.270.0080.00023.99
8.1.260.0040.00426.35
8.1.250.0000.00828.09
8.1.240.0040.00820.69
8.1.230.0040.00720.84
8.1.220.0050.00318.77
8.1.210.0050.00318.91
8.1.200.0070.00417.23
8.1.190.0050.00317.41
8.1.180.0080.00018.10
8.1.170.0000.00818.59
8.1.160.0040.00418.89
8.1.150.0000.00718.67
8.1.140.0000.00717.42
8.1.130.0000.00717.74
8.1.120.0000.00717.35
8.1.110.0040.00417.43
8.1.100.0000.00717.46
8.1.90.0030.00517.43
8.1.80.0030.00317.50
8.1.70.0040.00417.35
8.1.60.0030.00617.65
8.1.50.0070.00017.43
8.1.40.0040.00417.61
8.1.30.0030.00517.71
8.1.20.0090.00017.71
8.1.10.0000.00717.60
8.1.00.0030.00617.56
8.0.300.0070.00019.96
8.0.290.0060.00317.17
8.0.280.0040.00218.37
8.0.270.0050.00317.24
8.0.260.0030.00316.92
8.0.250.0040.00416.96
8.0.240.0080.00017.01
8.0.230.0000.00816.94
8.0.220.0040.00416.90
8.0.210.0030.00316.89
8.0.200.0070.00016.93
8.0.190.0030.00516.99
8.0.180.0040.00416.95
8.0.170.0000.00816.93
8.0.160.0070.00016.85
8.0.150.0030.00516.93
8.0.140.0070.00016.77
8.0.130.0000.00613.30
8.0.120.0030.00616.67
8.0.110.0050.00216.84
8.0.100.0000.00816.86
8.0.90.0000.00716.77
8.0.80.0060.00916.87
8.0.70.0020.00516.83
8.0.60.0020.00516.79
8.0.50.0050.00316.82
8.0.30.0080.01117.02
8.0.20.0130.00517.40
8.0.10.0030.00517.00
8.0.00.0110.00816.90
7.4.330.0020.00216.79
7.4.320.0000.00616.68
7.4.300.0040.00416.51
7.4.290.0000.00616.68
7.4.280.0000.00716.69
7.4.270.0030.00316.68
7.4.260.0080.00016.65
7.4.250.0040.00416.55
7.4.240.0040.00416.57
7.4.230.0030.00316.69
7.4.220.0080.00916.61
7.4.210.0050.01016.68
7.4.200.0000.00716.67
7.4.190.0040.00416.71
7.4.160.0000.01716.80
7.4.150.0140.00417.40
7.4.140.0110.00617.86
7.4.130.0110.00616.47
7.4.120.0090.00916.55
7.4.110.0070.01016.52
7.4.100.0040.01816.54
7.4.90.0070.01116.46
7.4.80.0090.00919.39
7.4.70.0070.01016.55
7.4.60.0120.00316.72
7.4.50.0040.00416.62
7.4.40.0050.00522.77
7.4.30.0070.01716.46
7.4.00.0080.01015.11
7.3.330.0000.00613.31
7.3.320.0060.00013.15
7.3.310.0000.00716.25
7.3.300.0070.00016.40
7.3.290.0000.02116.38
7.3.280.0070.00816.36
7.3.270.0200.00417.40
7.3.260.0110.00618.24
7.3.250.0130.00516.46
7.3.240.0070.01316.72
7.3.230.0100.00716.39
7.3.210.0100.00716.32
7.3.200.0060.01319.39
7.3.190.0100.01016.28
7.3.180.0090.00616.17
7.3.170.0140.00316.66
7.3.160.0030.01316.35
7.3.120.0070.00814.74
7.3.110.0070.01115.11
7.3.100.0060.00914.86
7.3.90.0070.00714.50
7.3.80.0070.01014.62
7.3.70.0000.00814.50
7.3.60.0120.00314.80
7.3.50.0060.00914.54
7.3.40.0090.00314.84
7.3.30.0100.00314.76
7.3.20.0100.00716.75
7.3.10.0000.01816.80
7.3.00.0080.00316.59
7.2.330.0030.01316.55
7.2.320.0100.01016.55
7.2.310.0090.01416.48
7.2.300.0140.01016.67
7.2.290.0120.00416.63
7.2.250.0060.01315.03
7.2.240.0030.01314.76
7.2.230.0060.00915.15
7.2.220.0000.01114.99
7.2.210.0060.00915.00
7.2.200.0090.00915.07
7.2.190.0060.00914.90
7.2.180.0040.00815.10
7.2.170.0030.00914.97
7.2.00.0070.01019.38
7.1.330.0070.00715.96
7.1.320.0000.01215.87
7.1.310.0000.00915.92
7.1.300.0030.00915.90
7.1.290.0090.00315.75
7.1.280.0060.00915.82
7.1.270.0070.00715.80
7.1.260.0030.01315.69
7.1.100.0070.00718.25
7.1.70.0040.00417.19
7.1.60.0000.01517.12
7.1.50.0090.00616.92
7.1.40.0080.00316.77
7.1.30.0030.01916.83
7.1.20.0090.00616.81
7.1.10.0030.00616.43
7.1.00.0080.00016.67
7.0.200.0040.00416.81
7.0.190.0040.00416.55
7.0.180.0000.00816.49
7.0.170.0000.01716.46
7.0.160.0030.01016.18
7.0.150.0030.00616.26
7.0.140.0000.00816.42
7.0.130.0130.00016.77
7.0.120.0110.00016.42
7.0.110.0000.00816.30
7.0.100.0000.00816.48
7.0.90.0040.00416.39
7.0.80.0030.00716.50
7.0.70.0040.00416.34
7.0.60.0040.00416.14
7.0.50.0030.00616.48
7.0.40.0070.00414.91
7.0.30.0060.00314.91
7.0.20.0060.00314.91
7.0.10.0000.00814.91
7.0.00.0000.00814.91
5.6.300.0070.03720.91
5.6.290.0070.04020.86
5.6.280.0090.03420.91
5.6.270.0130.03621.06
5.6.260.0130.03521.00
5.6.250.0040.04221.08
5.6.240.0070.04021.02
5.6.230.0130.04520.86
5.6.220.0030.04120.94
5.6.210.0030.08021.18
5.6.200.0130.04420.81
5.6.190.0200.04020.86
5.6.180.0100.03521.04
5.6.170.0070.07220.95
5.6.160.0030.04220.99
5.6.150.0000.04521.06
5.6.140.0070.09220.86
5.6.130.0070.04021.05
5.6.120.0060.06120.80
5.6.110.0030.06221.02
5.6.100.0130.05720.84
5.6.90.0130.07721.06
5.6.80.0000.08420.24
5.6.70.0030.07720.34
5.6.60.0070.04820.14
5.6.50.0030.08620.19
5.6.40.0070.03620.38
5.6.30.0030.04020.30
5.6.20.0030.04020.14
5.6.10.0000.04320.20
5.6.00.0030.04020.39
5.5.380.0000.04317.60
5.5.370.0030.04317.62
5.5.360.0000.04217.64
5.5.350.0030.05117.56
5.5.340.0070.03718.04
5.5.330.0000.04617.85
5.5.320.0030.04118.17
5.5.310.0070.04218.08
5.5.300.0070.04518.16
5.5.290.0030.06518.10
5.5.280.0070.08018.07
5.5.270.0000.06318.02
5.5.260.0040.04618.04
5.5.250.0030.08017.67
5.5.240.0070.04217.48
5.5.230.0070.07417.47
5.5.220.0030.04117.54
5.5.210.0070.07617.49
5.5.200.0030.04017.43
5.5.190.0070.04317.44
5.5.180.0070.04317.20
5.5.160.0190.03217.36
5.5.150.0030.05717.44
5.5.140.0000.04617.11
5.5.130.0030.03817.09
5.5.120.0000.04217.47
5.5.110.0030.05517.45
5.5.100.0030.07317.34
5.5.90.0000.05117.41
5.5.80.0180.02817.37
5.5.70.0070.03617.29
5.5.60.0000.06616.98
5.5.50.0060.03417.09
5.5.40.0030.05017.33
5.5.30.0000.04817.41
5.5.20.0000.04117.25
5.5.10.0060.03517.31
5.5.00.0000.05717.27
5.4.450.0070.07319.32
5.4.440.0030.07519.31
5.4.430.0030.08319.31
5.4.420.0070.05619.54
5.4.410.0040.04219.09
5.4.400.0030.08019.23
5.4.390.0000.07919.07
5.4.380.0030.04119.23
5.4.370.0100.04319.21
5.4.360.0030.03919.17
5.4.350.0030.03819.07
5.4.340.0100.03519.07
5.4.320.0040.03919.11
5.4.310.0000.05219.09
5.4.300.0060.04218.92
5.4.290.0070.03318.97
5.4.280.0000.04119.07
5.4.270.0030.04018.97
5.4.260.0060.03918.98
5.4.250.0000.04819.07
5.4.240.0030.03818.97
5.4.230.0030.03718.95
5.4.220.0060.03819.12
5.4.210.0030.05119.18
5.4.200.0000.05219.07
5.4.190.0070.03318.92
5.4.180.0000.04218.93
5.4.170.0070.06219.06
5.4.160.0000.04318.91
5.4.150.0000.04319.16
5.4.140.0170.03716.78
5.4.130.0060.03216.69
5.4.120.0070.03016.74
5.4.110.0000.04216.81
5.4.100.0070.03116.79
5.4.90.0100.03316.80
5.4.80.0000.04716.73
5.4.70.0000.04016.79
5.4.60.0000.03916.63
5.4.50.0070.04116.63
5.4.40.0000.03916.71
5.4.30.0000.04016.74
5.4.20.0030.03416.71
5.4.10.0130.03316.63
5.4.00.0060.03116.00
5.3.290.0000.04114.91
5.3.280.0030.03614.91
5.3.270.0040.04314.92
5.3.260.0030.04114.92
5.3.250.0000.04314.91
5.3.240.0030.04314.92
5.3.230.0070.03414.91
5.3.220.0000.04014.91
5.3.210.0000.04514.91
5.3.200.0030.04514.91
5.3.190.0130.04014.91
5.3.180.0030.04014.91
5.3.170.0000.04314.91
5.3.160.0030.03714.91
5.3.150.0040.03614.95
5.3.140.0030.03414.91
5.3.130.0070.04914.91
5.3.120.0000.04014.91
5.3.110.0100.03014.91
5.3.100.0000.04214.91
5.3.90.0060.03214.91
5.3.80.0000.03914.91
5.3.70.0090.03114.91
5.3.60.0030.03814.91
5.3.50.0030.03614.91
5.3.40.0000.03814.91
5.3.30.0030.03314.91
5.3.20.0030.03214.91
5.3.10.0040.03214.91
5.3.00.0030.03614.91
5.2.170.0070.03014.91
5.2.160.0030.03014.91
5.2.150.0030.02814.91
5.2.140.0000.03114.91
5.2.130.0000.03214.91
5.2.120.0030.02614.91
5.2.110.0030.02814.91
5.2.100.0030.03014.91
5.2.90.0000.04214.91
5.2.80.0030.02814.91
5.2.70.0180.02514.91
5.2.60.0070.02814.91
5.2.50.0030.02714.91
5.2.40.0000.03014.91
5.2.30.0030.02814.91
5.2.20.0100.02214.91
5.2.10.0100.02414.91
5.2.00.0030.02814.91
5.1.60.0090.01614.91
5.1.50.0200.03314.91
5.1.40.0030.02714.91
5.1.30.0000.02914.91
5.1.20.0000.02914.91
5.1.10.0030.02614.91
5.1.00.0030.02414.91
5.0.50.0060.01914.91
5.0.40.0030.02214.91
5.0.30.0030.02914.91
5.0.20.0030.01914.91
5.0.10.0040.01814.91
5.0.00.0030.02914.93
4.4.90.0000.01614.91
4.4.80.0000.01614.91
4.4.70.0030.01414.91
4.4.60.0000.03014.91
4.4.50.0030.01314.91
4.4.40.0000.02814.91
4.4.30.0000.01814.91
4.4.20.0030.01314.91
4.4.10.0000.02814.91
4.4.00.0030.02314.91
4.3.110.0000.01714.91
4.3.100.0000.01914.91
4.3.90.0070.01014.91
4.3.80.0040.02214.93
4.3.70.0000.02114.93
4.3.60.0000.02114.93
4.3.50.0070.02314.93
4.3.40.0030.03514.93
4.3.30.0000.04114.93
4.3.20.0030.04014.93
4.3.10.0000.02014.93
4.3.00.0000.02614.93

preferences:
40.85 ms | 401 KiB | 5 Q