3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class A { function foo($a, $b) {} } function row($name, $t) { echo $name.': '.round((microtime(true)-$t)*1e5, 2)." x 10 µs\n"; } $max = 5*1e1; $object = new A; $t = microtime (true); for ($i=0; $i<$max; $i++) { $object->foo(1, 'foo'); } row($max.' x A::foo', $t); $t = microtime (true); for ($i=0; $i<$max; $i++) { call_user_func_array(array($object, 'foo'), array(1, 'foo')); } row($max.' x call_user_func_array', $t); $t = microtime (true); $ref = new ReflectionMethod($object, 'foo'); for ($i=0; $i<$max; $i++) { $ref->invokeArgs($object, array(1, 'foo')); } row($max.' x ReflectionMethod::invokeArgs', $t); $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')); } } row(($max/10).' x (10 x ReflectionMethod::invokeArgs)', $t);
Output for 7.1.0
50 x A::foo: 1.31 x 10 µs 50 x call_user_func_array: 1.5 x 10 µs 50 x ReflectionMethod::invokeArgs: 1.98 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 1.91 x 10 µs
Output for 7.0.14
50 x A::foo: 1.41 x 10 µs 50 x call_user_func_array: 1.5 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.31 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.19 x 10 µs
Output for 7.0.6
50 x A::foo: 1.19 x 10 µs 50 x call_user_func_array: 1.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 1.91 x 10 µs
Output for 7.0.5
50 x A::foo: 0.91 x 10 µs 50 x call_user_func_array: 0.88 x 10 µs 50 x ReflectionMethod::invokeArgs: 1.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 1.19 x 10 µs
Output for 7.0.4
50 x A::foo: 1.19 x 10 µs 50 x call_user_func_array: 1.31 x 10 µs 50 x ReflectionMethod::invokeArgs: 2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 1.81 x 10 µs
Output for 7.0.3
50 x A::foo: 1.31 x 10 µs 50 x call_user_func_array: 1.79 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.98 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.1 x 10 µs
Output for 7.0.2
50 x A::foo: 1.31 x 10 µs 50 x call_user_func_array: 0.88 x 10 µs 50 x ReflectionMethod::invokeArgs: 1.5 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 1.19 x 10 µs
Output for 7.0.1
50 x A::foo: 1.72 x 10 µs 50 x call_user_func_array: 1.5 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.19 x 10 µs
Output for 7.0.0
50 x A::foo: 1.1 x 10 µs 50 x call_user_func_array: 0.88 x 10 µs 50 x ReflectionMethod::invokeArgs: 1.38 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 1.19 x 10 µs
Output for hhvm-3.12.0
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 1.88 x 10 µs 50 x ReflectionMethod::invokeArgs: 7.3 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 8.51 x 10 µs
Output for hhvm-3.10.0
50 x A::foo: 1.6 x 10 µs 50 x call_user_func_array: 2 x 10 µs 50 x ReflectionMethod::invokeArgs: 6.99 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.82 x 10 µs
Output for 5.6.28
50 x A::foo: 2.69 x 10 µs 50 x call_user_func_array: 5.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.79 x 10 µs
Output for 5.6.21
50 x A::foo: 2.38 x 10 µs 50 x call_user_func_array: 6.1 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.1 x 10 µs
Output for 5.6.20
50 x A::foo: 2.38 x 10 µs 50 x call_user_func_array: 5.2 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.91 x 10 µs
Output for 5.6.19
50 x A::foo: 2.22 x 10 µs 50 x call_user_func_array: 4.72 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.7 x 10 µs
Output for 5.6.18
50 x A::foo: 2.22 x 10 µs 50 x call_user_func_array: 3.39 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.6 x 10 µs
Output for 5.6.17
50 x A::foo: 3.31 x 10 µs 50 x call_user_func_array: 5.48 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.7 x 10 µs
Output for 5.6.16
50 x A::foo: 2.19 x 10 µs 50 x call_user_func_array: 4.91 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.81 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.12 x 10 µs
Output for 5.6.15
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 6.1 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.1 x 10 µs
Output for 5.6.14
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 6.32 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.89 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.79 x 10 µs
Output for 5.6.13
50 x A::foo: 2.19 x 10 µs 50 x call_user_func_array: 5.51 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.79 x 10 µs
Output for 5.6.12
50 x A::foo: 2.31 x 10 µs 50 x call_user_func_array: 5.41 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.91 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.7 x 10 µs
Output for 5.6.11
50 x A::foo: 3.6 x 10 µs 50 x call_user_func_array: 6.41 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.41 x 10 µs
Output for 5.6.10
50 x A::foo: 1.5 x 10 µs 50 x call_user_func_array: 3.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.69 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.7 x 10 µs
Output for 5.6.9
50 x A::foo: 1.91 x 10 µs 50 x call_user_func_array: 4.2 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.01 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.91 x 10 µs
Output for 5.6.8
50 x A::foo: 1.79 x 10 µs 50 x call_user_func_array: 4.51 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.22 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.31 x 10 µs
Output for 5.6.7
50 x A::foo: 2.41 x 10 µs 50 x call_user_func_array: 7.3 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.6 x 10 µs
Output for 5.5.35
50 x A::foo: 1.88 x 10 µs 50 x call_user_func_array: 5.01 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.29 x 10 µs
Output for 5.5.34
50 x A::foo: 1.88 x 10 µs 50 x call_user_func_array: 4.91 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.19 x 10 µs
Output for 5.5.33
50 x A::foo: 1.6 x 10 µs 50 x call_user_func_array: 3.19 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.41 x 10 µs
Output for 5.5.32
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 3.91 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.69 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.6 x 10 µs
Output for 5.5.31
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 5.01 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.5 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.41 x 10 µs
Output for 5.5.30
50 x A::foo: 2.31 x 10 µs 50 x call_user_func_array: 5.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.89 x 10 µs
Output for 5.5.29
50 x A::foo: 2.41 x 10 µs 50 x call_user_func_array: 5.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.01 x 10 µs
Output for 5.5.28
50 x A::foo: 2.41 x 10 µs 50 x call_user_func_array: 5.98 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.22 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.1 x 10 µs
Output for 5.5.27
50 x A::foo: 3.98 x 10 µs 50 x call_user_func_array: 9.68 x 10 µs 50 x ReflectionMethod::invokeArgs: 6.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 8.3 x 10 µs
Output for 5.5.26
50 x A::foo: 1.69 x 10 µs 50 x call_user_func_array: 3.91 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.81 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.6 x 10 µs
Output for 5.5.25
50 x A::foo: 1.69 x 10 µs 50 x call_user_func_array: 4.01 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.81 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.69 x 10 µs
Output for 5.5.24
50 x A::foo: 2.22 x 10 µs 50 x call_user_func_array: 5.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.08 x 10 µs
Output for 5.4.45
50 x A::foo: 2.31 x 10 µs 50 x call_user_func_array: 5.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.79 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.7 x 10 µs
Output for 5.4.44
50 x A::foo: 2.48 x 10 µs 50 x call_user_func_array: 4.91 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.72 x 10 µs
Output for 5.4.43
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 6.51 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.32 x 10 µs
Output for 5.4.42
50 x A::foo: 2.41 x 10 µs 50 x call_user_func_array: 4.72 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.6 x 10 µs
Output for 5.4.5, 5.4.41
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 4.98 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.7 x 10 µs
Output for 5.4.40
50 x A::foo: 1.81 x 10 µs 50 x call_user_func_array: 4.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.48 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.79 x 10 µs
Output for 5.4.39
50 x A::foo: 2.5 x 10 µs 50 x call_user_func_array: 6.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.01 x 10 µs
Output for 5.4.38
50 x A::foo: 1.69 x 10 µs 50 x call_user_func_array: 3.41 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.5 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.5 x 10 µs
Output for 5.4.37
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 3.72 x 10 µs 50 x ReflectionMethod::invokeArgs: 10.4 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3 x 10 µs
Output for 5.4.36
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 4.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 8.32 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.88 x 10 µs
Output for 5.4.35
50 x A::foo: 1.81 x 10 µs 50 x call_user_func_array: 5.39 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.6 x 10 µs
Output for 5.4.34
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 3.81 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.69 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.79 x 10 µs
Output for 5.4.32
50 x A::foo: 1.91 x 10 µs 50 x call_user_func_array: 4.82 x 10 µs 50 x ReflectionMethod::invokeArgs: 3 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.88 x 10 µs
Output for 5.4.31
50 x A::foo: 1.91 x 10 µs 50 x call_user_func_array: 4.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.79 x 10 µs
Output for 5.4.30
50 x A::foo: 2.22 x 10 µs 50 x call_user_func_array: 4.2 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.31 x 10 µs
Output for 5.4.29
50 x A::foo: 2.5 x 10 µs 50 x call_user_func_array: 4.98 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.81 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.72 x 10 µs
Output for 5.4.28
50 x A::foo: 1.91 x 10 µs 50 x call_user_func_array: 3.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.79 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.29 x 10 µs
Output for 5.4.27
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 5.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.91 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.1 x 10 µs
Output for 5.4.26
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 3.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.69 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.79 x 10 µs
Output for 5.4.25
50 x A::foo: 2.12 x 10 µs 50 x call_user_func_array: 3.79 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.88 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.91 x 10 µs
Output for 5.4.24
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 5.01 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.7 x 10 µs
Output for 5.4.23
50 x A::foo: 2.31 x 10 µs 50 x call_user_func_array: 4.41 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.31 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.29 x 10 µs
Output for 5.4.22
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 6.39 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.22 x 10 µs
Output for 5.4.21
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 5.01 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.79 x 10 µs
Output for 5.4.20
50 x A::foo: 2.5 x 10 µs 50 x call_user_func_array: 6.1 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.2 x 10 µs
Output for 5.4.19
50 x A::foo: 1.88 x 10 µs 50 x call_user_func_array: 4.41 x 10 µs 50 x ReflectionMethod::invokeArgs: 3 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.6 x 10 µs
Output for 5.4.18
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 4.91 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.72 x 10 µs
Output for 5.4.17
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 5.1 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.91 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.01 x 10 µs
Output for 5.4.16
50 x A::foo: 2.22 x 10 µs 50 x call_user_func_array: 4.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.19 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.19 x 10 µs
Output for 5.4.15
50 x A::foo: 1.88 x 10 µs 50 x call_user_func_array: 3.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.69 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.72 x 10 µs
Output for 5.4.14
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 3.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.72 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.81 x 10 µs
Output for 5.4.13
50 x A::foo: 2.5 x 10 µs 50 x call_user_func_array: 5.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.6 x 10 µs
Output for 5.4.12
50 x A::foo: 2.1 x 10 µs 50 x call_user_func_array: 3.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.79 x 10 µs
Output for 5.4.11
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 5.1 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.7 x 10 µs
Output for 5.4.10
50 x A::foo: 2.31 x 10 µs 50 x call_user_func_array: 4.51 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.5 x 10 µs
Output for 5.4.9
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 3.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.19 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.81 x 10 µs
Output for 5.4.8
50 x A::foo: 2.5 x 10 µs 50 x call_user_func_array: 4.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.5 x 10 µs
Output for 5.4.7
50 x A::foo: 2.31 x 10 µs 50 x call_user_func_array: 4.58 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.39 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.41 x 10 µs
Output for 5.4.6
50 x A::foo: 1.69 x 10 µs 50 x call_user_func_array: 4.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.88 x 10 µs
Output for 5.4.4
50 x A::foo: 2.5 x 10 µs 50 x call_user_func_array: 4.79 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.5 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.48 x 10 µs
Output for 5.4.3
50 x A::foo: 1.81 x 10 µs 50 x call_user_func_array: 4.79 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.91 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.72 x 10 µs
Output for 5.4.2
50 x A::foo: 1.91 x 10 µs 50 x call_user_func_array: 3.41 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.5 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.48 x 10 µs
Output for 5.4.1
50 x A::foo: 1.88 x 10 µs 50 x call_user_func_array: 3.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.38 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.5 x 10 µs
Output for 5.4.0
50 x A::foo: 1.79 x 10 µs 50 x call_user_func_array: 3.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 2.5 x 10 µs
Output for 5.3.29
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 5.01 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.01 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.08 x 10 µs
Output for 5.3.28
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 4.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.91 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.41 x 10 µs
Output for 5.3.27
50 x A::foo: 2.91 x 10 µs 50 x call_user_func_array: 6.99 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.91 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.82 x 10 µs
Output for 5.3.26
50 x A::foo: 3.19 x 10 µs 50 x call_user_func_array: 6.2 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.79 x 10 µs
Output for 5.3.13, 5.3.25
50 x A::foo: 2.79 x 10 µs 50 x call_user_func_array: 6.91 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.79 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.7 x 10 µs
Output for 5.3.24
50 x A::foo: 2.5 x 10 µs 50 x call_user_func_array: 4.98 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.01 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.1 x 10 µs
Output for 5.3.23
50 x A::foo: 2.69 x 10 µs 50 x call_user_func_array: 5.89 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.08 x 10 µs
Output for 5.3.22
50 x A::foo: 1.91 x 10 µs 50 x call_user_func_array: 5.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 2.91 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.29 x 10 µs
Output for 5.3.21
50 x A::foo: 2.69 x 10 µs 50 x call_user_func_array: 5.2 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.41 x 10 µs
Output for 5.3.20
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 5.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.29 x 10 µs
Output for 5.3.19
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 6.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.6 x 10 µs
Output for 5.3.18
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 5.39 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.29 x 10 µs
Output for 5.3.17
50 x A::foo: 2.69 x 10 µs 50 x call_user_func_array: 5.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.1 x 10 µs
Output for 5.3.16
50 x A::foo: 2.69 x 10 µs 50 x call_user_func_array: 6.82 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.79 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.79 x 10 µs
Output for 5.3.15
50 x A::foo: 2.69 x 10 µs 50 x call_user_func_array: 5.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.2 x 10 µs
Output for 5.3.14
50 x A::foo: 2 x 10 µs 50 x call_user_func_array: 4.89 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.5 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3 x 10 µs
Output for 5.3.12
50 x A::foo: 2.31 x 10 µs 50 x call_user_func_array: 4.51 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.6 x 10 µs
Output for 5.3.11
50 x A::foo: 2.1 x 10 µs 50 x call_user_func_array: 5.39 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.79 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.1 x 10 µs
Output for 5.3.10
50 x A::foo: 2.91 x 10 µs 50 x call_user_func_array: 6.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.82 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.79 x 10 µs
Output for 5.3.9
50 x A::foo: 2.91 x 10 µs 50 x call_user_func_array: 5.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.29 x 10 µs
Output for 5.3.8
50 x A::foo: 2.69 x 10 µs 50 x call_user_func_array: 5.2 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.22 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.41 x 10 µs
Output for 5.3.7
50 x A::foo: 2.79 x 10 µs 50 x call_user_func_array: 6.82 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.79 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.79 x 10 µs
Output for 5.3.6
50 x A::foo: 2.69 x 10 µs 50 x call_user_func_array: 6.01 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.2 x 10 µs
Output for 5.3.5
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 6.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.6 x 10 µs
Output for 5.3.4
50 x A::foo: 2.72 x 10 µs 50 x call_user_func_array: 6.01 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.1 x 10 µs
Output for 5.3.3
50 x A::foo: 2.81 x 10 µs 50 x call_user_func_array: 5.48 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.39 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.51 x 10 µs
Output for 5.3.2
50 x A::foo: 2.79 x 10 µs 50 x call_user_func_array: 5.39 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.39 x 10 µs
Output for 5.3.1
50 x A::foo: 2.38 x 10 µs 50 x call_user_func_array: 4.89 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.6 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.6 x 10 µs
Output for 5.3.0
50 x A::foo: 2.88 x 10 µs 50 x call_user_func_array: 6.51 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.51 x 10 µs
Output for 5.2.17
50 x A::foo: 2.6 x 10 µs 50 x call_user_func_array: 5.2 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.7 x 10 µs
Output for 5.2.16
50 x A::foo: 2.31 x 10 µs 50 x call_user_func_array: 5.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.6 x 10 µs
Output for 5.2.15
50 x A::foo: 3.19 x 10 µs 50 x call_user_func_array: 8.11 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.32 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.1 x 10 µs
Output for 5.2.14
50 x A::foo: 2.98 x 10 µs 50 x call_user_func_array: 6.08 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.41 x 10 µs
Output for 5.2.13
50 x A::foo: 3.41 x 10 µs 50 x call_user_func_array: 6.6 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.82 x 10 µs
Output for 5.2.12
50 x A::foo: 2.5 x 10 µs 50 x call_user_func_array: 5.79 x 10 µs 50 x ReflectionMethod::invokeArgs: 3.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 3.6 x 10 µs
Output for 5.2.11
50 x A::foo: 3.7 x 10 µs 50 x call_user_func_array: 7.3 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.29 x 10 µs
Output for 5.2.10
50 x A::foo: 3.72 x 10 µs 50 x call_user_func_array: 8.8 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.82 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.79 x 10 µs
Output for 5.2.9
50 x A::foo: 3.81 x 10 µs 50 x call_user_func_array: 7.7 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.51 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 7.8 x 10 µs
Output for 5.2.8
50 x A::foo: 3.6 x 10 µs 50 x call_user_func_array: 9.61 x 10 µs 50 x ReflectionMethod::invokeArgs: 6.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.7 x 10 µs
Output for 5.2.7
50 x A::foo: 3.1 x 10 µs 50 x call_user_func_array: 7.2 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.79 x 10 µs
Output for 5.2.6
50 x A::foo: 4.41 x 10 µs 50 x call_user_func_array: 6.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.41 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.39 x 10 µs
Output for 5.2.5
50 x A::foo: 3.6 x 10 µs 50 x call_user_func_array: 7.49 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.29 x 10 µs
Output for 5.2.4
50 x A::foo: 3.6 x 10 µs 50 x call_user_func_array: 7.41 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.2 x 10 µs
Output for 5.2.3
50 x A::foo: 3.79 x 10 µs 50 x call_user_func_array: 10.11 x 10 µs 50 x ReflectionMethod::invokeArgs: 7.2 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.82 x 10 µs
Output for 5.2.2
50 x A::foo: 3.6 x 10 µs 50 x call_user_func_array: 9.51 x 10 µs 50 x ReflectionMethod::invokeArgs: 6.01 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 6.01 x 10 µs
Output for 5.2.1
50 x A::foo: 3 x 10 µs 50 x call_user_func_array: 6.48 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.98 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.82 x 10 µs
Output for 5.2.0
50 x A::foo: 3.41 x 10 µs 50 x call_user_func_array: 8.8 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.7 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 6.2 x 10 µs
Output for 5.1.6
50 x A::foo: 3.19 x 10 µs 50 x call_user_func_array: 6.29 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.32 x 10 µs
Output for 5.1.5
50 x A::foo: 3.6 x 10 µs 50 x call_user_func_array: 7.39 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.01 x 10 µs
Output for 5.1.4
50 x A::foo: 3.7 x 10 µs 50 x call_user_func_array: 7.41 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.2 x 10 µs
Output for 5.1.3
50 x A::foo: 3.6 x 10 µs 50 x call_user_func_array: 7.2 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.01 x 10 µs
Output for 5.1.2
50 x A::foo: 3.29 x 10 µs 50 x call_user_func_array: 6.99 x 10 µs 50 x ReflectionMethod::invokeArgs: 4.72 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 4.79 x 10 µs
Output for 5.1.1
50 x A::foo: 3.7 x 10 µs 50 x call_user_func_array: 7.1 x 10 µs 50 x ReflectionMethod::invokeArgs: 5.29 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 5.6 x 10 µs
Output for 5.1.0
50 x A::foo: 3.7 x 10 µs 50 x call_user_func_array: 9.68 x 10 µs 50 x ReflectionMethod::invokeArgs: 6.1 x 10 µs 5 x (10 x ReflectionMethod::invokeArgs): 6.01 x 10 µs
Output for 5.0.5
50 x A::foo: 5.39 x 10 µs 50 x call_user_func_array: 11.52 x 10 µs Fatal error: Call to undefined method ReflectionMethod::invokeArgs() in /in/o2ZeK on line 28
Process exited with code 255.
Output for 5.0.4
50 x A::foo: 5.6 x 10 µs 50 x call_user_func_array: 10.4 x 10 µs Fatal error: Call to undefined method ReflectionMethod::invokeArgs() in /in/o2ZeK on line 28
Process exited with code 255.
Output for 5.0.3
50 x A::foo: 5.2 x 10 µs 50 x call_user_func_array: 11.01 x 10 µs Fatal error: Call to undefined method ReflectionMethod::invokeArgs() in /in/o2ZeK on line 28
Process exited with code 255.
Output for 5.0.2
50 x A::foo: 5.01 x 10 µs 50 x call_user_func_array: 9.39 x 10 µs Fatal error: Call to undefined method ReflectionMethod::invokeArgs() in /in/o2ZeK on line 28
Process exited with code 255.
Output for 5.0.1
50 x A::foo: 5.51 x 10 µs 50 x call_user_func_array: 10.8 x 10 µs Fatal error: Call to undefined method ReflectionMethod::invokeArgs() in /in/o2ZeK on line 28
Process exited with code 255.
Output for 5.0.0
50 x A::foo: 4.7 x 10 µs 50 x call_user_func_array: 9.2 x 10 µs Fatal error: Call to undefined method ReflectionMethod::invokeArgs() in /in/o2ZeK on line 28
Process exited with code 255.
Output for 4.4.9
50 x A::foo: 7 x 10 µs 50 x call_user_func_array: 9.9 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.4.8
50 x A::foo: 6.9 x 10 µs 50 x call_user_func_array: 11.2 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.4.7
50 x A::foo: 7 x 10 µs 50 x call_user_func_array: 11.2 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.4.6
50 x A::foo: 5.3 x 10 µs 50 x call_user_func_array: 8.9 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.4.5
50 x A::foo: 6.5 x 10 µs 50 x call_user_func_array: 10.8 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.4.4
50 x A::foo: 6 x 10 µs 50 x call_user_func_array: 9.7 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.4.3
50 x A::foo: 7.2 x 10 µs 50 x call_user_func_array: 12.4 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.4.2
50 x A::foo: 5.5 x 10 µs 50 x call_user_func_array: 8.8 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.4.1
50 x A::foo: 4.3 x 10 µs 50 x call_user_func_array: 9.8 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.4.0
50 x A::foo: 6.2 x 10 µs 50 x call_user_func_array: 11.1 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.11
50 x A::foo: 7.6 x 10 µs 50 x call_user_func_array: 10.9 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.10
50 x A::foo: 6.8 x 10 µs 50 x call_user_func_array: 10.6 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.9
50 x A::foo: 4.2 x 10 µs 50 x call_user_func_array: 6.6 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.8
50 x A::foo: 4.5 x 10 µs 50 x call_user_func_array: 6.8 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.7
50 x A::foo: 6.8 x 10 µs 50 x call_user_func_array: 12.5 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.6
50 x A::foo: 6.2 x 10 µs 50 x call_user_func_array: 8.5 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.5
50 x A::foo: 6.3 x 10 µs 50 x call_user_func_array: 10.1 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.4
50 x A::foo: 5.9 x 10 µs 50 x call_user_func_array: 9.5 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.3
50 x A::foo: 6.4 x 10 µs 50 x call_user_func_array: 11 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.2
50 x A::foo: 6.3 x 10 µs 50 x call_user_func_array: 12 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Process exited with code 255.
Output for 4.3.1
50 x A::foo: 6.1 x 10 µs 50 x call_user_func_array: 9.9 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26
Output for 4.3.0
50 x A::foo: 6.6 x 10 µs 50 x call_user_func_array: 12.8 x 10 µs Fatal error: Cannot instantiate non-existent class: reflectionmethod in /in/o2ZeK on line 26