3v4l.org

run code in 300+ PHP versions simultaneously
<?php $tests = [ " \ntest1 \n \t \ntest1\n\n " => "test1\ntest1", " \r\ntest2 \r\n \t \r\ntest2\r\n\r\n " => "test2\r\ntest2", " \u{0085}test3 \u{0085} \t \u{0085}test3\u{0085}\u{0085} " => "test3\u{0085}test3", " \u{2029}test4 \u{2029} \t \u{2029}test4\u{2029}\u{2029} " => "test4\u{2029}test4", " \ftest5 \f \t \ftest5\f\f " => "test5\ftest5", " \rtest6 \r \t \r\rtest6\r\r " => "test6\rtest6", ]; $i = 0; $pattern = '~(*ANY)\A\s*\R|\s*(?!\r\n)\s$~mu'; foreach($tests as $input => $output) { echo 'Test', ++$i, ': ', (preg_replace($pattern, '', $input) === $output ? 'SUCCESS':'FAIL'), 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)
8.5.10.0110.01016.88
8.5.00.0130.00819.98
8.4.150.0010.00114.05
8.4.140.0140.00717.86
8.4.130.0140.00818.18
8.4.120.0130.00720.50
8.4.110.0130.01022.63
8.4.100.0120.00918.14
8.4.90.0110.00917.79
8.4.80.0070.00217.91
8.4.70.0080.00317.93
8.4.60.0150.00718.55
8.4.50.0130.01117.83
8.4.40.0080.01218.06
8.4.30.0160.00320.81
8.4.20.0150.00618.29
8.4.10.0120.00419.48
8.3.280.0120.00918.69
8.3.270.0150.00716.84
8.3.260.0140.00416.70
8.3.250.0060.00218.85
8.3.240.0030.00417.08
8.3.230.0100.00916.83
8.3.220.0130.00617.14
8.3.210.0110.00317.04
8.3.200.0050.00316.81
8.3.190.0090.01017.04
8.3.180.0130.00617.06
8.3.170.0100.01020.65
8.3.160.0040.01418.56
8.3.150.0130.00719.07
8.3.140.0070.00718.50
8.3.130.0060.00318.75
8.3.120.0040.00417.36
8.3.110.0100.01016.88
8.3.100.0060.00318.56
8.3.90.0090.00618.64
8.3.80.0080.00418.43
8.3.70.0150.00016.88
8.3.60.0290.00621.46
8.3.50.0120.00922.19
8.3.40.0290.00023.15
8.3.30.0220.00722.66
8.3.20.0230.00325.05
8.3.10.0200.00625.29
8.3.00.0200.00526.04
8.2.290.0120.00620.23
8.2.280.0110.00918.45
8.2.270.0070.01116.97
8.2.260.0110.00720.54
8.2.250.0050.00316.97
8.2.240.0060.00317.26
8.2.230.0080.00020.94
8.2.220.0060.00324.06
8.2.210.0130.00726.77
8.2.200.0080.00016.63
8.2.190.0150.00018.66
8.2.180.0190.01321.34
8.2.170.0220.00722.57
8.2.160.0220.00724.44
8.2.150.0210.00525.79
8.2.140.0190.00925.29
8.2.130.0180.00826.04
8.2.120.0230.00323.59
8.2.110.0160.00822.93
8.2.100.0240.00722.56
8.2.90.0330.00725.92
8.2.80.0310.00925.92
8.2.70.0400.00425.92
8.2.60.0330.01425.92
8.2.50.0390.00725.92
8.2.40.0500.00425.92
8.2.30.0370.00725.92
8.2.20.0330.01125.92
8.2.10.0310.01425.92
8.2.00.0290.00525.92
8.1.330.0090.01016.85
8.1.320.0110.00916.38
8.1.310.0000.00818.34
8.1.300.0090.00617.70
8.1.290.0090.00018.88
8.1.280.0250.00825.92
8.1.270.0210.00824.03
8.1.260.0170.01126.14
8.1.250.0200.00827.00
8.1.240.0200.00622.31
8.1.230.0210.01222.29
8.1.220.0320.00925.92
8.1.210.0350.00425.92
8.1.200.0320.01125.92
8.1.190.0340.01025.92
8.1.180.0370.00925.92
8.1.170.0440.00025.92
8.1.160.0330.00725.92
8.1.150.0390.00625.92
8.1.140.0310.00925.92
8.1.130.0320.00425.92
8.1.120.0290.00725.92
8.1.110.0360.00625.92
8.1.100.0260.01625.92
8.1.90.0320.01125.92
8.1.80.0340.00925.92
8.1.70.0330.01725.92
8.1.60.0370.00925.92
8.1.50.0390.00825.92
8.1.40.0360.01225.92
8.1.30.0470.00725.92
8.1.20.0400.00925.92
8.1.10.0420.00425.92
8.1.00.0420.00825.92
8.0.300.0210.00825.92
8.0.290.0290.01125.92
8.0.280.0320.00725.92
8.0.270.0370.00825.92
8.0.260.0360.01225.92
8.0.250.0240.01025.92
8.0.240.0320.01025.92
8.0.230.0370.01125.92
8.0.220.0380.01025.92
8.0.210.0310.00825.92
8.0.200.0180.01825.92
8.0.190.0300.00625.92
8.0.180.0330.00725.92
8.0.170.0330.00425.92
8.0.160.0310.00825.92
8.0.150.0330.00325.92
8.0.140.0370.00025.92
8.0.130.0270.01225.92
8.0.120.0320.00425.92
8.0.110.0300.00725.92
8.0.100.0350.00725.92
8.0.90.0270.01325.92
8.0.80.0300.00625.92
8.0.70.0470.00625.92
8.0.60.0430.00725.92
8.0.50.0260.00925.92
8.0.30.0340.00325.92
8.0.20.0310.00425.92
8.0.10.0250.00325.92

preferences:
34.9 ms | 403 KiB | 5 Q