3v4l.org

run code in 300+ PHP versions simultaneously
<?php error_reporting(-1); set_time_limit(0); generate_nice('hello'); generate_nice('world'); function generate_nice($word) { echo 'Word: ', $word, "\n"; $i = generate($word); echo 'Seed: ', $i, "\n"; echo 'Test: ', test($i, strlen($word)), "\n"; } function generate($word) { $l = strlen($word); $s = ''; for ($i = 0; $s !== $word; ++$i) { $s = ''; mt_srand($i); for ($j = 0; $j < $l; ++$j) { $s .= chr(96 + mt_rand(1, 26)); } } return $i - 1; } function test($i, $l) { $s = ''; mt_srand($i); for ($j = 0; $j < $l; ++$j) { $s .= chr(96 + mt_rand(1, 26)); } return $s; }

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.1.70.0072.49317.07
7.1.60.0072.49519.50
7.1.50.0032.49817.11
7.1.00.0072.49322.26
7.0.200.0002.50116.97
7.0.140.0072.49322.10
7.0.80.0432.45719.95
7.0.70.0372.46319.86
7.0.60.2572.24319.98
7.0.50.0032.49720.30
7.0.40.0032.49720.11
7.0.30.0072.49320.05
7.0.20.0072.49320.15
7.0.10.0072.49320.00
7.0.00.0102.49020.02
5.6.280.0102.49020.91
5.6.230.0072.49320.69
5.6.220.0072.49320.59
5.6.210.0132.48720.75
5.6.200.0032.49721.05
5.6.190.0002.50021.18
5.6.180.0102.49021.09
5.6.170.0032.49721.04
5.6.160.0102.49020.96
5.6.150.0132.48721.09
5.6.140.0132.48721.01
5.6.130.0102.49021.11
5.6.120.2172.28321.13
5.6.110.0172.48321.02
5.6.100.0072.49321.02
5.6.90.0032.49721.02
5.6.80.0102.49020.57
5.6.70.0102.49020.50
5.6.60.0132.48720.45
5.6.50.0102.49020.50
5.6.40.0072.49320.37
5.6.30.0072.49320.42
5.6.20.0132.48720.27
5.6.10.0102.49020.31
5.6.00.0102.49020.38
5.5.370.0002.50020.36
5.5.360.0072.49320.38
5.5.350.0032.49720.43
5.5.340.0032.49720.74
5.5.330.0102.49020.79
5.5.320.0072.49320.84
5.5.310.0072.49320.89
5.5.300.0072.49320.87
5.5.290.0132.48720.89
5.5.280.0002.50020.77
5.5.270.0032.49720.64
5.5.260.0072.49320.64
5.5.250.0132.48720.64
5.5.240.0032.49720.30
5.5.230.0102.49020.19
5.5.220.0002.50020.15
5.5.210.0032.49720.27
5.5.200.0032.49720.25
5.5.190.0072.49320.23
5.5.180.0032.49720.20
5.5.160.0002.50020.25
5.5.150.0102.49019.99
5.5.140.0032.49720.27
5.5.130.0002.50020.30
5.5.120.0032.49720.28
5.5.110.0072.49320.22
5.5.100.0072.49320.17
5.5.90.0072.49320.07
5.5.80.0032.49720.17
5.5.70.0072.49320.14
5.5.60.0032.49720.07
5.5.50.0032.49720.15
5.5.40.0032.49720.15
5.5.30.0032.49720.06
5.5.20.0032.49720.15
5.5.10.0102.49020.13
5.5.00.0032.49720.04
5.4.450.0032.49719.27
5.4.440.0132.48719.38
5.4.430.0032.49719.16
5.4.420.0072.49319.16
5.4.410.0032.49719.35
5.4.400.0102.49018.98
5.4.390.0072.49318.97
5.4.380.0072.49319.05
5.4.370.0002.50018.93
5.4.360.0102.49018.89
5.4.350.3202.18018.82
5.4.340.0072.49318.98
5.4.320.0072.49319.00
5.4.310.0002.50018.97
5.4.300.0072.49319.12
5.4.290.0032.49719.04
5.4.280.0032.49719.11
5.4.270.0132.48718.95
5.4.260.0032.49718.97
5.4.250.0032.49718.79
5.4.240.0032.49719.05
5.4.230.0102.49018.96
5.4.220.0002.50018.95
5.4.210.0132.48718.98
5.4.200.0072.49318.93
5.4.190.0032.49719.04
5.4.180.0072.49318.93
5.4.170.0102.49019.00
5.4.160.0172.48318.95
5.4.150.0032.49719.07
5.4.140.0072.49316.19
5.4.130.0072.49316.41
5.4.120.0032.49716.39
5.4.110.0072.49316.31
5.4.100.1702.33016.35
5.4.90.0002.50016.28
5.4.80.0132.48716.47
5.4.70.0072.49316.35
5.4.60.0072.49316.38
5.4.50.0072.49316.31
5.4.40.0032.49716.37
5.4.30.0002.50016.41
5.4.20.0072.49316.27
5.4.10.0132.48716.29
5.4.00.0072.49315.80
5.3.290.0132.48714.59
5.3.280.0102.49014.37
5.3.270.0032.49714.46
5.3.260.0072.49314.42
5.3.250.0072.49314.37
5.3.240.0002.50014.47
5.3.230.3132.18314.41
5.3.220.0072.49314.38
5.3.210.0072.49314.48
5.3.200.0932.40714.38
5.3.190.0072.49314.53
5.3.180.0032.49714.41
5.3.170.0032.49714.35
5.3.160.0102.49014.34
5.3.150.2072.29314.49
5.3.140.0102.49014.39
5.3.130.0102.49014.45
5.3.120.0132.48714.39
5.3.110.0072.49314.46
5.3.100.0032.49713.92
5.3.90.0102.49013.97
5.3.80.0032.49713.78
5.3.70.0072.49313.84
5.3.60.0032.49713.78
5.3.50.0002.50013.82
5.3.40.0072.49313.74
5.3.30.0132.48713.67
5.3.20.0002.50013.59
5.3.10.0032.49713.51
5.3.00.0132.48713.48
5.2.170.0032.49711.59
5.2.160.0072.49311.59
5.2.150.0072.49311.59
5.2.140.0032.49711.59
5.2.130.0032.49711.59
5.2.120.0002.50011.59
5.2.110.0072.49311.59
5.2.100.0002.50011.59
5.2.90.0032.49711.59
5.2.80.0102.49011.59
5.2.70.0002.50011.59
5.2.60.0072.49311.59
5.2.50.0002.50011.59
5.2.40.0072.49311.59
5.2.30.0032.49711.59
5.2.20.0032.49711.59
5.2.10.0072.49311.59
5.2.00.0032.49711.59
5.1.60.0032.49711.59
5.1.50.0072.49311.59
5.1.40.0072.49311.59
5.1.30.0032.49711.59
5.1.20.0032.49711.59
5.1.10.0032.49711.59
5.1.00.0002.50011.59
5.0.50.0032.49711.59
5.0.40.0002.50011.59
5.0.30.0002.50011.59
5.0.20.0002.50011.59
5.0.10.0032.49711.59
5.0.00.0032.49711.59
4.4.90.0072.49311.59
4.4.80.0002.50011.59
4.4.70.0002.50011.59
4.4.60.0072.49311.59
4.4.50.0032.49711.59
4.4.40.0002.50011.59
4.4.30.0002.50011.59
4.4.20.0002.50011.59
4.4.10.0032.49711.59
4.4.00.0032.49711.59
4.3.110.0072.49311.59
4.3.100.0072.49311.59
4.3.90.0072.49311.59
4.3.80.0072.49311.59
4.3.70.0002.50011.59
4.3.60.0002.50011.59
4.3.50.0002.50011.59
4.3.40.0002.5009.57
4.3.30.0002.5009.57
4.3.20.0032.4979.57
4.3.10.0132.4879.57
4.3.00.0002.5009.57

preferences:
37.34 ms | 400 KiB | 5 Q