run code in 200+ php & hhvm versions
Bugs & Features
<?php /* class Foo { public static function barStatic() { } public function bar() { } } $foo = new Foo(); var_dump(is_callable(array($foo, 'bar'))); var_dump(is_callable(array($foo, 'barStatic'))); var_dump(is_callable(array('Foo', 'bar'))); var_dump(is_callable(array('Foo', 'barStatic'))); var_dump(is_callable('Foo::bar')); var_dump(is_callable('Foo::barStatic')); */ var_dump(is_callable('ReflectionMethod::setAccessible')); var_dump(is_callable(array('ReflectionMethod', 'setAccessible'));

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).
Note: hhvm uses a JIT which only kicks in after a few runs. Since we run scripts only once, hhvm always runs slower.

VersionSystem time (s)User time (s)Memory (MiB)