3v4l.org

run code in 300+ PHP versions simultaneously
<?php ini_set( 'MAX_EXEC_TIME', 120 ); $num_tests = 10; $startFirst = $startSecond = $endFirst = $endSecond = $startFirstMemory = $endFirstMemory = $startSecondMemory = $endSecondMemory = $someVal = 0; $times = array( '$i++' => array( 'time' => 0, 'memory' => 0 ), '++$i' => array( 'total' => 0, 'memory' => 0 ) ); for( $j = 0; $j < $num_tests; ++$j ) { for( $i = 0, $startFirstMemory = memory_get_usage( ), $startFirst = microtime( true ); $i < 10000000; $i++ ){ $someval = 2; } $endFirstMemory = memory_get_usage( ); $endFirst = microtime( true ); for( $i = 0, $startSecondMemory = memory_get_usage( ), $startSecond = microtime( true ); $i < 10000000; ++$i ){ $someval = 2; } $endSecondMemory = memory_get_usage( ); $endSecond = microtime( true ); $times[ '$i++' ][ $j ] = array( 'startTime' => $startFirst, 'endTime' => $endFirst, 'startMemory' => $startFirstMemory, 'endMemory' => $endFirstMemory ); $times[ '++$i' ][ $j ] = array( 'startTime' => $startSecond, 'endTime' => $endSecond, 'startMemory' => $startSecondMemory, 'endMemory' => $endSecondMemory ); } for( $i = 0; $i < $num_tests; ++$i ) { $times[ '$i++' ][ 'time' ] += ( $times[ '$i++' ][ $i ][ 'endTime' ] - $times[ '$i++' ][ $i ][ 'startTime' ] ); $times[ '++$i' ][ 'time' ] += ( $times[ '++$i' ][ $i ][ 'endTime' ] - $times[ '++$i' ][ $i ][ 'startTime' ] ); $times[ '$i++' ][ 'memory' ] += ( $times[ '$i++' ][ $i ][ 'endMemory' ] - $times[ '$i++' ][ $i ][ 'startMemory' ] ); $times[ '++$i' ][ 'memory' ] += ( $times[ '++$i' ][ $i ][ 'endMemory' ] - $times[ '++$i' ][ $i ][ 'startMemory' ] ); } echo 'There were ' . $num_tests . ' tests conducted, here\'s the totals<br /><br /> $i++ took ' . $times[ '$i++' ][ 'time' ] . ' seconds and ' . $times[ '$i++' ][ 'memory' ] . ' bytes<br /> ++$i took ' . $times[ '++$i' ][ 'time' ] . ' seconds and ' . $times[ '++$i' ][ 'memory' ] . ' bytes';

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.00.0071.82819.63
7.1.70.0031.89617.35
7.1.60.0101.76819.17
7.1.50.0031.76917.12
7.1.00.0071.71022.36
7.0.200.0032.45016.68
7.0.140.0031.86722.15
7.0.100.0101.71720.03
7.0.90.0131.66719.94
7.0.80.0101.70020.17
7.0.70.0031.70720.00
7.0.60.0131.79720.05
7.0.50.0171.67020.32
7.0.40.0101.84020.15
7.0.30.0131.68320.05
7.0.20.0071.56720.10
7.0.10.0101.66720.18
7.0.00.0071.79320.14
5.6.280.0102.49021.13
5.6.250.0132.48720.75
5.6.240.0532.44720.65
5.6.230.0072.49320.69
5.6.220.0072.49320.54
5.6.210.0102.49020.49
5.6.200.0102.49021.09
5.6.190.0172.48321.02
5.6.180.0072.49321.04
5.6.170.0102.49021.08
5.6.160.0032.49720.96
5.6.150.0032.49720.96
5.6.140.0072.49321.04
5.6.130.0032.49720.96
5.6.120.0132.48721.03
5.6.110.0072.49320.97
5.6.100.0132.48720.96
5.6.90.0072.49320.94
5.6.80.0102.49020.45
5.6.70.0132.48720.51
5.6.60.0072.49320.46
5.6.50.0072.49320.45
5.6.40.0032.49720.44
5.6.30.0102.49020.33
5.6.20.0072.49320.38
5.6.10.0032.49720.31
5.6.00.0102.49020.42
5.5.380.0102.49020.37
5.5.370.0102.49020.38
5.5.360.0172.48320.42
5.5.350.0102.49020.48
5.5.340.0132.48720.86
5.5.330.0072.49320.94
5.5.320.0072.49320.92
5.5.310.0072.49320.78
5.5.300.0072.49320.84
5.5.290.0132.48720.78
5.5.280.0032.49720.75
5.5.270.0132.48720.90
5.5.260.0072.49320.78
5.5.250.0032.49720.75
5.5.240.0072.49320.26
5.5.230.0072.49320.15
5.5.220.0132.48720.25
5.5.210.0002.50020.23
5.5.200.0072.49320.29
5.5.190.0172.48320.24
5.5.180.0002.50020.20
5.5.160.0102.49020.17
5.5.150.0072.49320.29
5.5.140.0032.49720.00
5.5.130.0032.49720.17
5.5.120.0102.49020.16
5.5.110.0072.49320.20
5.5.100.0102.49020.12
5.5.90.0132.48719.99
5.5.80.0132.48720.09
5.5.70.0102.49020.04
5.5.60.0032.49720.07
5.5.50.0102.43320.07
5.5.40.0032.49719.98
5.5.30.0172.48320.13
5.5.20.0132.48720.00
5.5.10.0072.49320.13
5.5.00.2072.29320.12
5.4.450.0132.48719.28
5.4.440.0172.48319.07
5.4.430.0072.49319.32
5.4.420.0002.50019.32
5.4.410.0032.49718.97
5.4.400.0172.48318.91
5.4.390.0032.49718.96
5.4.380.0032.49718.99
5.4.370.0172.48318.95
5.4.360.0102.49019.07
5.4.350.0032.49719.07
5.4.340.0102.49019.02
5.4.320.0072.49318.91
5.4.310.0102.49019.10
5.4.300.0072.49318.84
5.4.290.0032.49718.91
5.4.280.0132.48718.95
5.4.270.0072.49318.74
5.4.260.0072.49319.12
5.4.250.0072.49318.99
5.4.240.0072.49318.89
5.4.230.0232.47718.99
5.4.220.0032.49718.99
5.4.210.0102.49018.95
5.4.200.0072.49319.10
5.4.190.0102.49019.04
5.4.180.0132.48719.04
5.4.170.0002.50018.89
5.4.160.0032.49718.88
5.4.150.0102.49019.08
5.4.140.0032.49716.22
5.4.130.0072.49316.30
5.4.120.0032.49716.17
5.4.110.0102.49016.42
5.4.100.0032.49716.27
5.4.90.0002.50016.35
5.4.80.0032.49716.29
5.4.70.0002.50016.33
5.4.60.0072.49316.19
5.4.50.0132.48716.27
5.4.40.0032.49716.18
5.4.30.0002.50016.31
5.4.20.0132.48716.24
5.4.10.0032.49716.17
5.4.00.0132.48715.80
5.3.290.0002.50014.38
5.3.280.0172.48314.36
5.3.270.0102.49014.30
5.3.260.0102.49014.41
5.3.250.0102.49014.38
5.3.240.0032.49714.45
5.3.230.0032.49714.46
5.3.220.0102.49014.38
5.3.210.0102.49014.44
5.3.200.0132.48714.38
5.3.190.0102.49014.44
5.3.180.0032.49714.25
5.3.170.0072.49314.41
5.3.160.0002.50014.42
5.3.150.0132.48714.34
5.3.140.0072.49314.35
5.3.130.0102.49014.39
5.3.120.0002.50014.27
5.3.110.0102.49014.28
5.3.100.0032.49713.91
5.3.90.0032.49713.89
5.3.80.0032.49713.80
5.3.70.0032.49713.68
5.3.60.0072.49313.80
5.3.50.0072.49313.61
5.3.40.0072.49313.60
5.3.30.0032.49713.68
5.3.20.0102.49013.34
5.3.10.0172.48313.41
5.3.00.0072.49313.27
5.2.170.0032.49710.77
5.2.160.0102.49010.93
5.2.150.0102.49010.88
5.2.140.0032.49710.99
5.2.130.0002.50010.78
5.2.120.0072.49310.89
5.2.110.0032.49710.88
5.2.100.0032.49710.77
5.2.90.0032.49710.89
5.2.80.0032.49710.82
5.2.70.0032.49710.80
5.2.60.0072.49310.84
5.2.50.0032.49710.59
5.2.40.0102.49010.69
5.2.30.0072.49310.67
5.2.20.0032.49710.66
5.2.10.0072.49310.77
5.2.00.0000.03010.69
5.1.60.0030.0509.86
5.1.50.0000.02710.12
5.1.40.0000.03010.08
5.1.30.0000.03010.27
5.1.20.0100.04010.25
5.1.10.0030.0479.97
5.1.00.0030.02010.20
5.0.50.0030.0409.71
5.0.40.0100.0309.71
5.0.30.0100.0539.71
5.0.20.0030.0309.71
5.0.10.0000.0279.71
5.0.00.0030.0679.71
4.4.90.0030.0339.71
4.4.80.0000.0379.71
4.4.70.0000.0179.71
4.4.60.0000.0179.71
4.4.50.0000.0179.71
4.4.40.0000.0409.71
4.4.30.0000.0279.71
4.4.20.0000.0279.71
4.4.10.0030.0379.71
4.4.00.0030.0539.71
4.3.110.0070.0309.71
4.3.100.0070.0239.71
4.3.90.0000.0279.71
4.3.80.0070.0509.71
4.3.70.0000.0409.71
4.3.60.0030.0279.71
4.3.50.0030.0279.71
4.3.40.0100.0479.71
4.3.30.0000.0379.71
4.3.20.0030.0339.71
4.3.10.0000.0379.71
4.3.00.0030.0279.71

preferences:
43.69 ms | 401 KiB | 5 Q