3v4l.org

run code in 500+ 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);
Output for 7.0.0
Parse error: syntax error, unexpected '_000_000' (T_STRING) in /in/npLfI on line 18
Process exited with code 255.
Output for 8.2.1
float(0.1841440200805664) float(0.22905492782592773)
Output for 8.2.0
float(0.18761110305786133) float(0.22448205947875977)
Output for 8.1.14
float(0.18527579307556152) float(0.23158884048461914)
Output for 8.1.13
float(0.18564391136169434) float(0.21802592277526855)
Output for 8.1.12
float(0.1882309913635254) float(0.22716498374938965)
Output for 8.1.11
float(0.19310808181762695) float(0.23529505729675293)
Output for 8.1.10
float(0.21530508995056152) float(0.22035002708435059)
Output for 8.1.9
float(0.1942899227142334) float(0.2529010772705078)
Output for 8.1.8
float(0.18350005149841309) float(0.2348628044128418)
Output for 8.1.7
float(0.19429397583007812) float(0.23433899879455566)
Output for 8.1.6
float(0.20700311660766602) float(0.22539114952087402)
Output for 8.1.5
float(0.19858598709106445) float(0.2236649990081787)
Output for 8.1.4
float(0.18941497802734375) float(0.21945595741271973)
Output for 8.1.3
float(0.18749213218688965) float(0.22417712211608887)
Output for 8.1.2
float(0.18811607360839844) float(0.2309558391571045)
Output for 8.1.1
float(0.19086503982543945) float(0.24457097053527832)
Output for 8.1.0
float(0.18587207794189453) float(0.2253119945526123)
Output for 8.0.27
float(0.19128704071044922) float(0.2180769443511963)
Output for 8.0.26
float(0.18702912330627441) float(0.22159790992736816)
Output for 8.0.25
float(0.18501615524291992) float(0.22512507438659668)
Output for 8.0.24
float(0.22232294082641602) float(0.22679400444030762)
Output for 8.0.23
float(0.19059014320373535) float(0.22643709182739258)
Output for 8.0.22
float(0.1889791488647461) float(0.22452497482299805)
Output for 8.0.21
float(0.18941187858581543) float(0.2215259075164795)
Output for 8.0.20
float(0.18855595588684082) float(0.23064613342285156)
Output for 8.0.19
float(0.18655705451965332) float(0.22626709938049316)
Output for 8.0.18
float(0.18506598472595215) float(0.22784709930419922)
Output for 8.0.17
float(0.2077009677886963) float(0.23185992240905762)
Output for 8.0.16
float(0.19458699226379395) float(0.23745203018188477)
Output for 8.0.15
float(0.18495917320251465) float(0.21819186210632324)
Output for 8.0.14
float(0.18447399139404297) float(0.22407913208007812)
Output for 8.0.13
float(0.18431806564331055) float(0.22567510604858398)
Output for 8.0.12
float(0.1864149570465088) float(0.22829294204711914)
Output for 8.0.11
float(0.19016599655151367) float(0.21867704391479492)
Output for 8.0.10
float(0.18539714813232422) float(0.2218761444091797)
Output for 8.0.9
float(0.18471097946166992) float(0.2220160961151123)
Output for 8.0.8
float(0.18519115447998047) float(0.21844100952148438)
Output for 8.0.7
float(0.1846020221710205) float(0.22591590881347656)
Output for 8.0.6
float(0.18550491333007812) float(0.21922016143798828)
Output for 8.0.5
float(0.18715214729309082) float(0.21924805641174316)
Output for 8.0.3
float(0.18828892707824707) float(0.22165918350219727)
Output for 8.0.2
float(0.18684601783752441) float(0.22032594680786133)
Output for 8.0.1
float(0.19175004959106445) float(0.22261285781860352)

preferences:
57.7 ms | 1275 KiB | 49 Q