3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Cl { public $v = ['foo']; public function a(): array { return $this->v; } public function &b(): array { return $this->v; } } $o = new Cl(); $iters = 1_000_000; $t = microtime(true); for ($i = 0; $i < $iters; $i++) { $v1 = $o->a(); $v2 = $o->a(); $v3 = $o->a(); $v4 = $o->a(); $v1 = $o->a(); $v2 = $o->a(); $v3 = $o->a(); $v4 = $o->a(); } var_dump(microtime(true) - $t); $t = microtime(true); for ($i = 0; $i < $iters; $i++) { $v1 = $o->b(); $v2 = $o->b(); $v3 = $o->b(); $v4 = $o->b(); $v1 = $o->b(); $v2 = $o->b(); $v3 = $o->b(); $v4 = $o->b(); } var_dump(microtime(true) - $t);

preferences:
26.28 ms | 402 KiB | 5 Q