3v4l.org

run code in 300+ PHP versions simultaneously
<?php $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.1.70.0031.88517.25
7.1.60.0031.92017.25
7.1.50.0101.82617.04
7.1.40.0031.69116.86
7.1.30.0031.76316.71
7.1.20.0031.83916.98
7.1.10.0001.85716.66
7.1.00.0031.86616.52
7.0.200.0032.06516.87
7.0.190.0031.77816.63
7.0.180.0031.90116.41
7.0.170.0002.01516.22
7.0.160.0072.20816.56
7.0.150.0002.15716.30
7.0.140.0031.92816.22
7.0.130.0031.82516.46
7.0.120.0032.07216.63
7.0.110.0031.68516.40
7.0.100.1101.94815.42
7.0.90.0231.90716.25
7.0.80.0361.27715.42
7.0.70.0501.84315.42
7.0.60.0671.69515.42
7.0.50.0071.54916.52
7.0.40.0031.77515.42
7.0.30.0102.07115.42
7.0.20.0132.10815.42
7.0.10.0071.99815.42
7.0.00.0471.87215.42
5.6.300.0002.50120.92
5.6.290.0032.32620.91
5.6.280.0032.35620.85
5.6.270.0002.35820.85
5.6.260.0101.08120.77
5.6.250.0102.27520.98
5.6.240.0131.73620.85
5.6.230.0101.49220.84
5.6.220.0031.77620.93
5.6.210.0102.33421.05
5.6.200.0132.03520.85
5.6.190.0132.08520.84
5.6.180.0131.89720.88
5.6.170.0102.03721.03
5.6.160.0002.06020.94
5.6.150.0102.16221.05
5.6.140.0071.78420.83
5.6.130.0032.08620.96
5.6.120.0032.05121.05
5.6.110.0032.11420.84
5.6.100.0032.10821.04
5.6.90.0101.36720.83
5.6.80.0031.59620.45
5.6.70.0132.10620.23
5.6.60.0001.80720.22
5.6.50.0102.06920.32
5.6.40.0102.01920.14
5.6.30.0032.14920.22
5.6.20.0071.82620.38
5.6.10.0231.41620.19
5.6.00.0032.11520.33
5.5.380.0562.15617.47
5.5.370.0202.35317.58
5.5.360.0072.37317.57
5.5.350.0072.26317.47
5.5.340.0102.42718.02
5.5.330.0002.48917.70
5.5.320.0002.47417.83
5.5.310.0072.45417.98
5.5.300.0072.41417.82
5.5.290.0132.46918.01
5.5.280.0002.47217.82
5.5.270.0032.47017.86
5.5.260.0032.45317.82
5.5.250.0002.46217.48
5.5.240.0002.46817.26
5.5.230.0032.47617.29
5.5.220.0072.46317.02
5.5.210.0002.47117.39
5.5.200.0002.47317.30
5.5.190.0372.43117.35
5.5.180.0072.45917.18
5.5.160.0002.42717.39
5.5.150.0102.46117.27
5.5.140.0032.46517.35
5.5.130.0032.45117.31
5.5.120.0072.46817.27
5.5.110.0002.46117.34
5.5.100.0032.45616.93
5.5.90.0072.48317.30
5.5.80.0032.46017.26
5.5.70.0032.40417.25
5.5.60.0032.23517.06
5.5.50.0072.45016.89
5.5.40.0032.46617.26
5.5.30.0202.44516.89
5.5.20.0072.46916.92
5.5.10.0072.45817.21
5.5.00.0002.45917.07
5.4.450.0272.44119.38
5.4.440.0072.46219.26
5.4.430.0102.44819.08
5.4.420.0072.42619.40
5.4.410.0002.28119.15
5.4.400.0072.46119.09
5.4.390.0032.47018.98
5.4.380.0002.46818.74
5.4.370.0072.46318.97
5.4.360.0032.48118.78
5.4.350.0102.43518.86
5.4.340.0072.40618.97
5.4.320.0002.47718.98
5.4.310.0732.37618.98
5.4.300.0132.44419.07
5.4.290.0072.46618.82
5.4.280.0032.41618.93
5.4.270.0172.47218.74
5.4.260.0072.46918.98
5.4.250.0032.41218.82
5.4.240.0002.28519.01
5.4.230.0102.44718.93
5.4.220.0132.43219.00
5.4.210.0032.43618.96
5.4.200.0072.45818.82
5.4.190.0132.44218.79
5.4.180.0402.41918.77
5.4.170.0002.46518.88
5.4.160.0002.46218.79
5.4.150.0032.48518.79
5.4.140.0102.43716.27
5.4.130.0032.49016.60
5.4.120.0032.41516.43
5.4.110.0002.48016.41
5.4.100.2902.14416.22
5.4.90.0072.47816.55
5.4.80.0072.45916.57
5.4.70.0072.45516.43
5.4.60.0132.44516.41
5.4.50.0032.44616.50
5.4.40.0032.46516.25
5.4.30.0072.46816.25
5.4.20.0072.45316.52
5.4.10.0202.44516.45
5.4.00.0172.44315.97
5.3.290.0172.44915.42
5.3.280.0532.36515.42
5.3.270.1702.30514.91
5.3.260.0032.45014.91
5.3.250.0102.45814.91
5.3.240.0032.48014.91
5.3.230.0132.45114.91
5.3.220.2202.21114.91
5.3.210.0032.47514.91
5.3.200.0032.48714.91
5.3.190.0002.45414.91
5.3.180.0072.45314.91
5.3.170.0072.48414.91
5.3.160.0072.39714.91
5.3.150.0032.39414.91
5.3.140.0132.41514.91
5.3.130.0072.46214.91
5.3.120.0002.47314.91
5.3.110.0172.41914.91
5.3.100.0072.42814.91
5.3.90.0032.45914.91
5.3.80.0072.40614.91
5.3.70.0032.45414.91
5.3.60.0032.45614.91
5.3.50.0002.44114.91
5.3.40.0032.47414.91
5.3.30.0002.46414.91
5.3.20.0102.46914.91
5.3.10.0072.41914.91
5.3.00.0102.44714.91

preferences:
36.53 ms | 400 KiB | 5 Q