3v4l.org

run code in 300+ PHP versions simultaneously
<?php $string1 = 'aaaaaaaaaaaaaaaaaaaa'; $string2 = 'bbbbbbbbbbbbbbbbbbbb'; $string3 = 'cccccccccccccccccccc'; $string4 = 'dddddddddddddddddddd'; $string5 = 'eeeeeeeeeeeeeeeeeeee'; $results = array(); $time1 = microtime(true); for ($i = 0; $i<1000000; $i++) { $concatTest1 = $string1 . $string2 . $string3 . $string4 . $string5; } unset($i); $time2 = microtime(true); $testDuration1 = $time2 - $time1; $results['Test1'] = $testDuration1; $time3 = microtime(true); for ($i = 0; $i<1000000; $i++) { $concatTest2 = "{$string1}{$string2}{$string3}{$string4}{$string5}"; } unset($i); $time4 = microtime(true); $testDuration2 = $time4 - $time3; $results['Test2'] = $testDuration2; $time5 = microtime(true); for ($i = 0; $i<1000000; $i++) { $concatTest3 = implode('', array( $string1, $string2, $string3, $string4, $string5 )); } unset($i); $time6 = microtime(true); $testDuration3 = $time6 - $time5; $results['Test3'] = $testDuration3; $time7 = microtime(true); for ($i = 0; $i<1000000; $i++) { $concatTest4 = sprintf('%s%s%s%s%s', array( $string1, $string2, $string3, $string4, $string5 )); } unset($i); $time8 = microtime(true); $testDuration4 = $time8 - $time7; $results['Test4'] = $testDuration4; $finalResults = sort($results); var_dump($finalResults);

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)
5.4.190.0231.08319.00
5.4.180.0030.72319.17
5.4.170.0171.16318.94
5.4.160.0401.08719.10
5.4.150.0231.11719.05
5.4.140.0231.20716.31
5.4.130.0171.13016.42
5.4.120.0030.77316.14
5.4.110.0231.09016.21
5.4.100.0070.74716.11
5.4.90.0030.73316.21
5.4.80.0201.09316.42
5.4.70.0271.26316.38
5.4.60.0501.16316.41
5.4.50.0271.06316.25
5.4.40.0301.39716.25
5.4.30.0531.16316.19
5.4.20.0501.07716.35
5.4.10.0301.19716.16
5.4.00.0431.19315.68
5.3.270.0171.16014.38
5.3.260.0101.20014.32
5.3.250.0031.17314.25
5.3.240.0301.18014.39
5.3.230.0371.20314.25
5.3.220.0371.16314.21
5.3.210.0231.26314.36
5.3.200.0201.15014.32
5.3.190.0531.23314.43
5.3.180.0301.26014.32
5.3.170.0331.19014.43
5.3.160.0331.23314.36
5.3.150.0371.21714.36
5.3.140.0371.35714.31
5.3.130.0301.23014.41
5.3.120.0231.11314.33
5.3.110.0501.27714.32
5.3.100.0071.22313.80
5.3.90.0631.18713.80
5.3.80.0400.94013.71
5.3.70.0331.11013.73
5.3.60.0270.84713.70
5.3.50.0231.21713.69
5.3.40.0270.94713.66
5.3.30.0401.08713.59
5.3.20.0131.26713.40
5.3.10.0271.11013.36
5.3.00.0301.26313.34

preferences:
24.81 ms | 401 KiB | 5 Q