3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { function foo($a, $b) {} } $max = 5*1e1; $object = new A; $t = microtime (true); for ($i=0; $i<$max; $i++) { $object->foo(1, 'foo'); } echo $max.' x A::foo: '.round((microtime(true)-$t)*1e3, 2)." ms\n"; $t = microtime (true); for ($i=0; $i<$max; $i++) { call_user_func_array(array($object, 'foo'), array(1, 'foo')); } echo $max.' x call_user_func_array: '.round((microtime(true)-$t)*1e3, 2)." ms\n"; $t = microtime (true); $ref = new ReflectionMethod($object, 'foo'); for ($i=0; $i<$max; $i++) { $ref->invokeArgs($object, array(1, 'foo')); } echo $max.' x ReflectionMethod::invokeArgs: '.round((microtime(true)-$t)*1e3, 2)." ms\n"; $t = microtime (true); for ($j=0; $j<$max/10; $j++) { $ref = new ReflectionMethod($object, 'foo'); for ($i=0; $i<10; $i++) { $ref->invokeArgs($object, array(1, 'foo')); } } echo ($max/10).' x (10 x ReflectionMethod::invokeArgs): '.round((microtime(true)-$t)*1e3, 2)." ms\n";

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.0030.00619.29
7.1.70.0040.00417.29
7.1.60.0100.01419.70
7.1.50.0200.00316.78
7.1.00.0070.07322.47
7.0.200.0290.00616.36
7.0.140.0070.06721.97
7.0.60.0130.07720.05
7.0.50.0030.04017.86
7.0.40.0130.05720.13
7.0.30.0270.05320.30
7.0.20.0130.04720.23
7.0.10.0030.04720.26
7.0.00.0070.07320.26
5.6.280.0030.07321.01
5.6.210.0130.07720.71
5.6.200.0070.08018.29
5.6.190.0030.06320.41
5.6.180.4000.04320.67
5.6.170.0300.04020.61
5.6.160.0100.08320.62
5.6.150.0000.05318.19
5.6.140.0030.04018.13
5.6.130.0000.06018.14
5.6.120.0100.08321.00
5.6.110.0070.04021.02
5.6.100.0100.08021.04
5.6.90.0170.07320.99
5.6.80.0030.04720.30
5.6.70.4470.03720.42
5.5.350.0200.04020.55
5.5.340.0100.07017.94
5.5.330.0070.06720.41
5.5.320.3200.04720.35
5.5.310.0230.04720.43
5.5.300.0030.05717.95
5.5.290.0070.04317.98
5.5.280.0030.04320.84
5.5.270.0130.03320.81
5.5.260.0100.08020.67
5.5.250.0070.08320.63
5.5.240.0300.06320.35
5.4.450.0270.04328.29
5.4.440.0700.04328.28
5.4.430.1000.05328.28
5.4.420.0400.04028.28
5.4.410.0470.04028.25
5.4.400.0230.04727.55
5.4.390.0230.02726.89
5.4.380.0170.05018.74
5.4.370.0100.05318.84
5.4.360.0130.05018.83
5.4.350.0070.06018.54
5.4.340.0170.05318.75
5.4.320.0040.03912.52
5.4.310.0100.04112.52
5.4.300.0060.03712.52
5.4.290.0080.03912.51
5.4.280.0070.05012.41
5.4.270.0050.04512.41
5.4.260.0100.04512.41
5.4.250.0080.04612.41
5.4.240.0080.04912.41
5.4.230.0040.05312.41
5.4.220.0090.04612.40
5.4.210.0100.05212.41
5.4.200.0100.04912.40
5.4.190.0080.04912.40
5.4.180.0080.04312.41
5.4.170.0040.04312.41
5.4.160.0080.03912.41
5.4.150.0100.03212.41
5.4.140.0080.04012.09
5.4.130.0090.03712.07
5.4.120.0050.04912.04
5.4.110.0090.03712.04
5.4.100.0070.03612.03
5.4.90.0050.04212.03
5.4.80.0110.03612.03
5.4.70.0040.04112.03
5.4.60.0040.04312.03
5.4.50.0020.04212.03
5.4.40.0100.03412.02
5.4.30.0050.03712.01
5.4.20.0070.03712.02
5.4.10.0090.04612.01
5.4.00.0070.05011.50
5.3.290.0060.04112.80
5.3.280.0080.05012.71
5.3.270.0120.05012.73
5.3.260.0090.04412.72
5.3.250.0090.04812.72
5.3.240.0110.04412.71
5.3.230.0090.03712.71
5.3.220.0110.04112.68
5.3.210.0130.04912.68
5.3.200.0160.04112.68
5.3.190.0110.04612.68
5.3.180.0070.05112.67
5.3.170.0180.04112.67
5.3.160.0130.04612.68
5.3.150.0130.04412.67
5.3.140.0100.05312.66
5.3.130.0050.04312.66
5.3.120.0070.04312.66
5.3.110.0070.04312.66
5.3.100.0110.05412.14
5.3.90.0070.05112.13
5.3.80.0120.04412.12
5.3.70.0100.04712.12
5.3.60.0080.05112.10
5.3.50.0070.04812.05
5.3.40.0050.05112.05
5.3.30.0060.05312.01
5.3.20.0090.05211.78
5.3.10.0070.05011.75
5.3.00.0090.04811.74
5.2.170.0090.0399.26
5.2.160.0090.0329.26
5.2.150.0150.0259.26
5.2.140.0180.0249.25
5.2.130.0090.0309.21
5.2.120.0060.0299.22
5.2.110.0040.0329.23
5.2.100.0110.0269.21
5.2.90.0080.0349.21
5.2.80.0190.0339.21
5.2.70.0160.0529.21
5.2.60.0060.0489.16
5.2.50.0070.0429.13
5.2.40.0040.0349.11
5.2.30.0070.0319.09
5.2.20.0050.0329.08
5.2.10.0050.0329.00
5.2.00.0070.0348.86
5.1.60.0020.0358.14
5.1.50.0060.0308.14
5.1.40.0030.0278.12
5.1.30.0060.0268.47
5.1.20.0030.0338.50
5.1.10.0070.0278.22
5.1.00.0060.0328.21
5.0.50.0010.0236.70
5.0.40.0030.0226.57
5.0.30.0040.0336.38
5.0.20.0020.0226.36
5.0.10.0060.0216.34
5.0.00.0050.0306.33
4.4.90.0040.0154.78
4.4.80.0020.0184.75
4.4.70.0010.0204.76
4.4.60.0020.0164.75
4.4.50.0040.0154.77
4.4.40.0040.0254.71
4.4.30.0040.0154.76
4.4.20.0040.0154.84
4.4.10.0050.0144.85
4.4.00.0020.0274.76
4.3.110.0030.0164.67
4.3.100.0040.0144.66
4.3.90.0020.0164.63
4.3.80.0010.0274.62
4.3.70.0030.0174.63
4.3.60.0050.0144.63
4.3.50.0020.0244.63
4.3.40.0050.0304.58
4.3.30.0010.0233.39
4.3.20.0060.0183.37
4.3.10.0040.0203.32
4.3.00.0000.02026.50

preferences:
40.09 ms | 401 KiB | 5 Q