3v4l.org

run code in 300+ PHP versions simultaneously
<?php ini_set( 'MAX_EXEC_TIME', 120 ); ob_start( ); $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'; ob_end_flush( );

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.0071.87918.71
7.1.60.0071.79718.71
7.1.50.0031.94318.71
7.1.40.0001.70918.71
7.1.30.0071.89018.71
7.1.20.0531.74218.71
7.1.10.0031.77918.71
7.1.00.0031.78318.71
7.0.200.0032.02718.71
7.0.190.0031.81118.71
7.0.180.0031.85918.71
7.0.170.0001.83318.71
7.0.160.0002.06418.71
7.0.150.0032.05018.71
7.0.140.0031.79818.71
7.0.130.0101.82418.71
7.0.120.0102.00018.71
7.0.110.0032.00618.71
7.0.100.0071.80618.71
7.0.90.0101.84018.71
7.0.80.0131.88518.71
7.0.70.0101.81518.71
7.0.60.0101.97918.71
7.0.50.0131.68618.71
7.0.40.0071.82418.71
7.0.30.0102.02518.71
7.0.20.0101.90318.71
7.0.10.0101.77318.71
7.0.00.0031.81618.71
5.6.300.0032.33920.98
5.6.290.0072.35420.68
5.6.280.0132.20220.84
5.6.270.0071.94020.76
5.6.260.0072.00720.72
5.6.250.0032.16620.59
5.6.240.0102.05320.74
5.6.230.0032.16220.86
5.6.220.0072.14020.80
5.6.210.0032.41820.59
5.6.200.0032.04821.02
5.6.190.0002.18520.82
5.6.180.0072.14720.88
5.6.170.0072.18020.96
5.6.160.0072.13120.85
5.6.150.0032.20820.79
5.6.140.0102.24720.81
5.6.130.0102.21220.81
5.6.120.0102.17020.91
5.6.110.0102.20920.96
5.6.100.0072.11221.02
5.6.90.0102.22021.02
5.6.80.0032.22620.27
5.6.70.0032.24420.42
5.6.60.0102.09220.38
5.6.50.0072.20420.42
5.6.40.0102.09320.14
5.6.30.0102.06220.21
5.6.20.0071.87120.30
5.6.10.0201.24520.17
5.6.00.0101.45020.18
5.5.380.0102.37418.71
5.5.370.0102.35918.71
5.5.360.0102.35718.71
5.5.350.0072.18718.71
5.5.340.1732.29518.71
5.5.330.0002.47918.71
5.5.320.0032.44818.71
5.5.310.0072.45918.71
5.5.300.0102.42018.71
5.5.290.0132.46318.71
5.5.280.0032.45718.71
5.5.270.0032.47618.71
5.5.260.0002.46518.71
5.5.250.0702.41018.71
5.5.240.0002.45218.71
5.5.230.0032.46718.71
5.5.220.0002.46418.71
5.5.210.0072.43618.71
5.5.200.0102.36818.71
5.5.190.0072.36718.71
5.5.180.0072.37218.71
5.5.160.0002.46818.71
5.5.150.0032.45118.71
5.5.140.0032.42018.71
5.5.130.0102.34218.71
5.5.120.0032.46618.71
5.5.110.0072.36718.21
5.5.100.0002.41018.21
5.5.90.0102.41018.21
5.5.80.0072.47318.21
5.5.70.0072.45818.21
5.5.60.0002.47218.21
5.5.50.0102.45718.21
5.5.40.0032.31918.21
5.5.30.0002.45718.21
5.5.20.0102.43618.21
5.5.10.0102.44418.21
5.5.00.0902.12218.21
5.4.450.0102.44519.14
5.4.440.0032.47119.32
5.4.430.0102.44019.16
5.4.420.0102.46619.32
5.4.410.0102.43919.20
5.4.400.0072.45418.95
5.4.390.0132.44918.81
5.4.380.0002.46419.09
5.4.370.0072.46218.93
5.4.360.0132.41418.98
5.4.350.0102.44118.93
5.4.340.0102.12918.84
5.4.320.0172.43819.07
5.4.310.0072.46518.83
5.4.300.0032.46118.93
5.4.290.0032.48519.00
5.4.280.0032.46618.85
5.4.270.0032.48618.82
5.4.260.0642.29318.95
5.4.250.0032.45019.11
5.4.240.0072.46319.02
5.4.230.0032.43018.73
5.4.220.0102.45319.02
5.4.210.0002.48118.73
5.4.200.0032.46418.95
5.4.190.0032.46218.93
5.4.180.0032.29618.93
5.4.170.0102.23018.99
5.4.160.0102.40718.95
5.4.150.0032.23919.05
5.4.140.0072.44018.21
5.4.130.0072.45318.21
5.4.120.0032.46518.21
5.4.110.0072.48318.21
5.4.100.0032.46118.21
5.4.90.0032.45218.21
5.4.80.0072.45618.21
5.4.70.0002.46818.21
5.4.60.0032.47318.21
5.4.50.0132.23018.21
5.4.40.0132.40418.21
5.4.30.0102.43018.21
5.4.20.0002.46618.21
5.4.10.0102.46918.21
5.4.00.0102.44918.21
5.3.290.1362.32118.71
5.3.280.0072.37118.21
5.3.270.0132.44018.21
5.3.260.0132.40118.21
5.3.250.0032.42318.21
5.3.240.0102.47318.21
5.3.230.0032.46018.21
5.3.220.0072.45618.21
5.3.210.0132.45318.21
5.3.200.0002.48918.21
5.3.190.0072.41918.21
5.3.180.0032.45918.21
5.3.170.0072.48218.21
5.3.160.0032.45718.21
5.3.150.0072.45418.21
5.3.140.0032.46018.21
5.3.130.0132.44618.21
5.3.120.0132.45618.21
5.3.110.0072.47918.21
5.3.100.0032.46618.21
5.3.90.0072.46314.00
5.3.80.0032.46413.80
5.3.70.0132.46113.80
5.3.60.0232.45213.95
5.3.50.0032.45913.92
5.3.40.0002.46013.84
5.3.30.0132.46413.64
5.3.20.0032.46413.54
5.3.10.0102.45513.37
5.3.00.0002.46813.50

preferences:
36.71 ms | 401 KiB | 5 Q