3v4l.org

run code in 300+ PHP versions simultaneously
<?php function isset_( $key, array $array ) { return isset( $array[$key] ); } $my_array = array(); $start = microtime( TRUE ); for( $i = 1; $i < 10000; $i++ ) { array_key_exists( $i, $my_array ); $my_array[$i] = 0; } $stop = microtime( TRUE ); print "array_key_exists( \$my_array ) ".($stop-$start).PHP_EOL; unset( $my_array, $my_array_ref, $start, $stop, $i ); $my_array = array(); $start = microtime( TRUE ); for( $i = 1; $i < 10000; $i++ ) { isset( $my_array[$i] ); $my_array[$i] = 0; } $stop = microtime( TRUE ); print "isset( \$my_array ) ".($stop-$start).PHP_EOL; unset( $my_array, $my_array_ref, $start, $stop, $i ); $my_array = array(); $start = microtime( TRUE ); for( $i = 1; $i < 10000; $i++ ) { isset_( $i, $my_array ); $my_array[$i] = 0; } $stop = microtime( TRUE ); print "isset_( \$my_array ) ".($stop-$start).PHP_EOL; unset( $my_array, $my_array_ref, $start, $stop, $i ); $my_array = array(); $my_array_ref = &$my_array; $start = microtime( TRUE ); for( $i = 1; $i < 10000; $i++ ) { array_key_exists( $i, $my_array_ref ); $my_array_ref[$i] = 0; } $stop = microtime( TRUE ); print "array_key_exists( \$my_array_ref ) ".($stop-$start).PHP_EOL; unset( $my_array, $my_array_ref, $start, $stop, $i ); $my_array = array(); $my_array_ref = &$my_array; $start = microtime( TRUE ); for( $i = 1; $i < 10000; $i++ ) { isset( $my_array_ref[$i] ); $my_array_ref[$i] = 0; } $stop = microtime( TRUE ); print "isset( \$my_array_ref ) ".($stop-$start).PHP_EOL; unset( $my_array, $my_array_ref, $start, $stop, $i ); $my_array = array(); $my_array_ref = &$my_array; $start = microtime( TRUE ); for( $i = 1; $i < 10000; $i++ ) { isset_( $i, $my_array_ref ); $my_array_ref[$i] = 0; } $stop = microtime( TRUE ); print "isset_( \$my_array_ref ) ".($stop-$start).PHP_EOL; unset( $my_array, $my_array_ref, $start, $stop, $i );

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.3.60.0260.01425.92
7.2.00.0000.01319.16
7.1.70.0040.01117.09
7.1.60.0130.01619.32
7.1.50.0030.01917.06
7.1.00.0100.07322.35
7.0.200.0120.00916.52
7.0.140.0070.07021.96
7.0.60.0070.05320.35
7.0.50.0070.04018.21
7.0.40.0100.07320.13
7.0.30.0200.04720.33
7.0.20.0330.05320.17
7.0.10.0000.05020.23
7.0.00.0070.05020.06
5.6.400.0231.98225.92
5.6.280.0172.48323.10
5.6.210.0132.48722.98
5.6.200.0102.49020.37
5.6.190.0132.48722.62
5.6.180.0432.45722.78
5.6.170.0272.47322.59
5.6.160.0132.48722.74
5.6.150.0202.48020.35
5.6.140.0072.49320.22
5.6.130.0032.49720.31
5.6.120.0102.49023.11
5.6.110.0032.49723.13
5.6.100.0002.50023.24
5.6.90.0072.49323.20
5.6.80.0202.48022.77
5.5.350.0172.46322.65
5.5.340.0472.37323.23
5.5.330.0202.38722.95
5.5.320.0202.41323.22
5.5.310.0272.38323.09
5.5.300.0232.44323.22
5.5.290.0102.49020.19
5.5.280.0201.91722.74
5.5.270.0201.91022.71
5.5.260.0302.19723.11
5.5.250.0102.49022.92
5.5.240.0102.49022.61
5.4.450.0202.13721.57
5.4.440.1402.32021.59
5.4.430.0301.92021.25
5.4.420.0201.96721.29
5.4.410.0172.44021.55
5.4.400.0972.27021.38
5.4.390.0202.43321.32
5.4.380.0202.43721.21
5.4.370.0472.40720.93
5.4.360.0472.43321.37
5.4.350.0102.39721.32
5.4.340.0372.44721.48
5.4.320.0121.99214.91
5.4.310.0172.42321.20
5.4.300.0131.99214.91
5.4.290.0172.43021.12
5.4.280.0131.98714.80
5.4.270.0131.98814.80
5.4.260.0121.99114.81
5.4.250.0372.36021.21
5.4.240.0232.37721.27
5.4.230.0432.40721.20
5.4.220.0332.39021.02
5.4.210.0202.38321.09
5.4.200.0202.40321.24
5.4.190.0282.09214.56
5.4.180.0432.39721.07
5.4.170.0492.07414.57
5.4.160.0362.02414.57
5.4.150.0232.01314.57
5.4.140.0242.03814.25
5.4.130.0172.44018.72
5.4.120.0162.13514.19
5.4.110.0212.04314.19
5.4.100.0202.04314.20
5.4.90.0202.07514.19
5.4.80.0202.44318.67
5.4.70.0272.37718.45
5.4.60.0302.06114.18
5.4.50.0272.42018.64
5.4.40.0272.40718.65
5.4.30.0172.42318.45
5.4.20.0102.45018.67
5.4.10.0232.38718.65
5.4.00.0162.04813.65
5.3.290.0131.99215.04
5.3.280.0402.39716.55
5.3.270.0222.10014.87
5.3.260.0502.31016.69
5.3.250.0302.38316.53
5.3.240.0172.31316.47
5.3.230.0202.46016.70
5.3.220.0372.31016.30
5.3.210.0202.40316.49
5.3.200.0172.05114.80
5.3.190.0192.04514.82
5.3.180.0191.98514.82
5.3.170.0302.35316.47
5.3.160.0222.00714.77
5.3.150.0292.15014.79
5.3.140.0232.41716.70
5.3.130.0162.04514.79
5.3.120.0432.38716.55
5.3.110.0202.44016.60
5.3.100.0262.06414.32
5.3.90.0102.44716.17
5.3.80.0122.05414.32
5.3.70.0222.09914.30
5.3.60.0102.38315.98
5.3.50.0102.37715.97
5.3.40.0232.42015.96
5.3.30.0232.41016.06
5.3.20.0092.02313.98
5.3.10.0272.39315.77
5.3.00.0202.04413.94
5.2.170.1671.86510.96
5.2.160.0872.34712.74
5.2.150.2111.87910.96
5.2.140.1671.89511.02
5.2.130.1072.32712.69
5.2.120.1711.86310.92
5.2.110.1562.02210.92
5.2.100.1002.32312.64
5.2.90.1701.92110.93
5.2.80.2051.88210.96
5.2.70.1981.89510.92
5.2.60.1741.94510.91
5.2.50.0172.42012.38
5.2.40.0142.04910.66
5.2.30.0172.40312.53
5.2.20.0172.38712.42
5.2.10.2661.82310.96
5.2.00.3111.74910.88
5.1.60.0202.39311.71
5.1.50.0182.2129.87
5.1.40.0132.44711.63
5.1.30.0182.07110.28
5.1.20.0342.05910.27
5.1.10.0172.2189.99
5.1.00.0272.40011.83
5.0.50.0090.0256.64
5.0.40.0100.0226.50
5.0.30.0130.0326.32
5.0.20.0070.0256.28
5.0.10.0110.0216.25
5.0.00.0100.0346.25
4.4.90.0070.0194.78
4.4.80.0080.0184.75
4.4.70.0060.0204.75
4.4.60.0080.0184.75
4.4.50.0060.0194.77
4.4.40.0090.0274.71
4.4.30.0090.0174.76
4.4.20.0080.0184.84
4.4.10.0060.0204.85
4.4.00.0060.0304.76
4.3.110.0100.0154.67
4.3.100.0070.0184.66
4.3.90.0080.0164.63
4.3.80.0050.0304.58
4.3.70.0090.0164.63
4.3.60.0100.0154.63
4.3.50.0060.0194.62
4.3.40.0070.0274.54
4.3.30.0070.0173.30
4.3.20.0050.0183.29
4.3.10.0080.0153.24
4.3.00.0270.01012.89

preferences:
34.47 ms | 401 KiB | 5 Q