3v4l.org

run code in 300+ PHP versions simultaneously
<?php declare(strict_types = 1); /** @noinspection AutoloadingIssuesInspection */ class BenchmarkCase { public static $maxNameLength; public $callable; public $iterations = 0; public $name; public $timing = 0; public static function create(string $name, callable $callable): self { $self = new self; $self->name = $name; $self->callable = $callable; self::$maxNameLength = max(self::$maxNameLength, strlen($name)); return $self; } public static function printResults(float $initialMs, array $cases): void { $durationMs = microtime(true) - $initialMs; printf("\r"); usort($cases, static function (BenchmarkCase $a, BenchmarkCase $b) { return $a->timing <=> $b->timing; }); $caseFirst = $cases[0]->timing; /** @var BenchmarkCase $case */ foreach ($cases as $case) { printf("Case %s duration of %.6fs (avg. each %.8fs) +%.2f%%\n", str_pad($case->name, self::$maxNameLength, ' '), $case->timing, bcdiv((string) $case->timing, (string) $case->iterations, 8), (100 / $caseFirst * $case->timing) - 100); } printf("\nTotal duration: %.6fs", $durationMs); } } set_error_handler(static function ($severity, $message) { throw new ErrorException($message, 0, $severity); }); $cases = [ BenchmarkCase::create('array_merge() inside looping', static function () { $arr = []; for ($i = 0; $i < 100; $i++) { $arr = array_merge($arr, [ $i, $i ]); } return $arr; }), BenchmarkCase::create('array_merge() after looping', static function () { $arrArr = []; for ($i = 0; $i < 100; $i++) { $arrArr[] = [ $i, $i ]; } return array_merge(... $arrArr); }), BenchmarkCase::create('array_push() inside looping', static function () { $arr = []; for ($i = 0; $i < 100; $i++) { array_push($arr, $i, $i); } return $arr; }), ]; const BENCHMARK_DURATION_MS = 1500; const CYCLES_ITERATION = 100; $initialMs = microtime(true); $stopTiming = $initialMs + BENCHMARK_DURATION_MS / 1000; while (($currentTiming = microtime(true)) < $stopTiming) { /** @noinspection NonSecureShuffleUsageInspection */ shuffle($cases); /** @var BenchmarkCase $case */ foreach ($cases as $case) { $startMs = microtime(true); for ($j = 0; $j < CYCLES_ITERATION; $j++) { call_user_func($case->callable); } $case->iterations += CYCLES_ITERATION; $case->timing += microtime(true) - $startMs; } } BenchmarkCase::printResults($initialMs, $cases);
Output for 8.0.8
Case array_push() inside looping duration of 0.131082s (avg. each 0.00000587s) +0.00% Case array_merge() after looping duration of 0.245052s (avg. each 0.00001098s) +86.95% Case array_merge() inside looping duration of 1.128459s (avg. each 0.00005060s) +760.88% Total duration: 1.505451s
Output for 8.0.7
Case array_push() inside looping duration of 0.130586s (avg. each 0.00000694s) +-0.00% Case array_merge() after looping duration of 0.240002s (avg. each 0.00001276s) +83.79% Case array_merge() inside looping duration of 1.129833s (avg. each 0.00006009s) +765.20% Total duration: 1.501238s
Output for 8.0.6
Case array_push() inside looping duration of 0.131729s (avg. each 0.00000565s) +0.00% Case array_merge() after looping duration of 0.241742s (avg. each 0.00001037s) +83.51% Case array_merge() inside looping duration of 1.126318s (avg. each 0.00004833s) +755.02% Total duration: 1.500574s
Output for 8.0.5
Case array_push() inside looping duration of 0.128487s (avg. each 0.00000516s) +0.00% Case array_merge() after looping duration of 0.243412s (avg. each 0.00000977s) +89.45% Case array_merge() inside looping duration of 1.129828s (avg. each 0.00004537s) +779.34% Total duration: 1.502491s
Output for 8.0.3
Case array_push() inside looping duration of 0.129661s (avg. each 0.00000576s) +0.00% Case array_merge() after looping duration of 0.242693s (avg. each 0.00001078s) +87.17% Case array_merge() inside looping duration of 1.130713s (avg. each 0.00005025s) +772.05% Total duration: 1.503688s
Output for 8.0.2
Case array_push() inside looping duration of 0.129494s (avg. each 0.00000546s) +0.00% Case array_merge() after looping duration of 0.257532s (avg. each 0.00001086s) +98.88% Case array_merge() inside looping duration of 1.112600s (avg. each 0.00004694s) +759.19% Total duration: 1.500329s
Output for 8.0.1
Case array_push() inside looping duration of 0.134123s (avg. each 0.00000549s) +0.00% Case array_merge() after looping duration of 0.246948s (avg. each 0.00001012s) +84.12% Case array_merge() inside looping duration of 1.122695s (avg. each 0.00004601s) +737.06% Total duration: 1.504377s
Output for 8.0.0
Case array_push() inside looping duration of 0.132708s (avg. each 0.00000582s) +0.00% Case array_merge() after looping duration of 0.250825s (avg. each 0.00001100s) +89.01% Case array_merge() inside looping duration of 1.122817s (avg. each 0.00004924s) +746.08% Total duration: 1.507104s
Output for 7.4.21
Case array_push() inside looping duration of 0.131810s (avg. each 0.00000563s) +0.00% Case array_merge() after looping duration of 0.241845s (avg. each 0.00001033s) +83.48% Case array_merge() inside looping duration of 1.126165s (avg. each 0.00004812s) +754.38% Total duration: 1.500501s
Output for 7.4.20
Case array_push() inside looping duration of 0.138120s (avg. each 0.00000563s) +0.00% Case array_merge() after looping duration of 0.246037s (avg. each 0.00001004s) +78.13% Case array_merge() inside looping duration of 1.119253s (avg. each 0.00004568s) +710.35% Total duration: 1.504045s
Output for 7.4.19
Case array_push() inside looping duration of 0.130286s (avg. each 0.00000668s) +0.00% Case array_merge() after looping duration of 0.231377s (avg. each 0.00001186s) +77.59% Case array_merge() inside looping duration of 1.141775s (avg. each 0.00005855s) +776.36% Total duration: 1.504078s
Output for 7.4.18
Case array_push() inside looping duration of 0.132357s (avg. each 0.00000588s) +0.00% Case array_merge() after looping duration of 0.240131s (avg. each 0.00001067s) +81.43% Case array_merge() inside looping duration of 1.132020s (avg. each 0.00005031s) +755.28% Total duration: 1.505304s
Output for 7.4.16
Case array_push() inside looping duration of 0.135740s (avg. each 0.00000611s) +0.00% Case array_merge() after looping duration of 0.239049s (avg. each 0.00001076s) +76.11% Case array_merge() inside looping duration of 1.126263s (avg. each 0.00005073s) +729.72% Total duration: 1.501821s
Output for 7.4.15
Case array_push() inside looping duration of 0.137753s (avg. each 0.00000588s) +0.00% Case array_merge() after looping duration of 0.247302s (avg. each 0.00001056s) +79.53% Case array_merge() inside looping duration of 1.114371s (avg. each 0.00004762s) +708.96% Total duration: 1.500408s
Output for 7.4.14
Case array_push() inside looping duration of 0.137439s (avg. each 0.00000616s) +0.00% Case array_merge() after looping duration of 0.251321s (avg. each 0.00001126s) +82.86% Case array_merge() inside looping duration of 1.117618s (avg. each 0.00005011s) +713.18% Total duration: 1.507129s
Output for 7.4.13
Case array_push() inside looping duration of 0.134731s (avg. each 0.00000583s) +0.00% Case array_merge() after looping duration of 0.243008s (avg. each 0.00001051s) +80.37% Case array_merge() inside looping duration of 1.127207s (avg. each 0.00004879s) +736.63% Total duration: 1.505633s
Output for 7.4.12
Case array_push() inside looping duration of 0.128396s (avg. each 0.00000524s) +0.00% Case array_merge() after looping duration of 0.241854s (avg. each 0.00000987s) +88.37% Case array_merge() inside looping duration of 1.132592s (avg. each 0.00004622s) +782.11% Total duration: 1.503480s
Output for 7.4.11
Case array_push() inside looping duration of 0.128455s (avg. each 0.00000533s) +0.00% Case array_merge() after looping duration of 0.241163s (avg. each 0.00001000s) +87.74% Case array_merge() inside looping duration of 1.134518s (avg. each 0.00004707s) +783.20% Total duration: 1.504658s
Output for 7.4.10
Case array_push() inside looping duration of 0.126517s (avg. each 0.00000635s) +0.00% Case array_merge() after looping duration of 0.239978s (avg. each 0.00001205s) +89.68% Case array_merge() inside looping duration of 1.133057s (avg. each 0.00005693s) +795.58% Total duration: 1.500280s
Output for 7.4.9
Case array_push() inside looping duration of 0.129295s (avg. each 0.00000646s) +0.00% Case array_merge() after looping duration of 0.241352s (avg. each 0.00001206s) +86.67% Case array_merge() inside looping duration of 1.129594s (avg. each 0.00005647s) +773.65% Total duration: 1.501055s
Output for 7.4.8
Case array_push() inside looping duration of 0.129615s (avg. each 0.00000522s) +0.00% Case array_merge() after looping duration of 0.245383s (avg. each 0.00000989s) +89.32% Case array_merge() inside looping duration of 1.125803s (avg. each 0.00004539s) +768.58% Total duration: 1.501391s
Output for 7.4.7
Case array_push() inside looping duration of 0.131162s (avg. each 0.00000533s) +0.00% Case array_merge() after looping duration of 0.246393s (avg. each 0.00001001s) +87.85% Case array_merge() inside looping duration of 1.125834s (avg. each 0.00004576s) +758.35% Total duration: 1.504099s
Output for 7.4.6
Case array_push() inside looping duration of 0.131866s (avg. each 0.00000523s) +0.00% Case array_merge() after looping duration of 0.245586s (avg. each 0.00000974s) +86.24% Case array_merge() inside looping duration of 1.127129s (avg. each 0.00004472s) +754.75% Total duration: 1.505317s
Output for 7.4.5
Case array_push() inside looping duration of 0.133082s (avg. each 0.00000532s) +0.00% Case array_merge() after looping duration of 0.244750s (avg. each 0.00000979s) +83.91% Case array_merge() inside looping duration of 1.126564s (avg. each 0.00004506s) +746.52% Total duration: 1.505058s
Output for 7.4.4
Case array_push() inside looping duration of 0.137080s (avg. each 0.00000566s) +0.00% Case array_merge() after looping duration of 0.242599s (avg. each 0.00001002s) +76.98% Case array_merge() inside looping duration of 1.120595s (avg. each 0.00004630s) +717.48% Total duration: 1.500952s
Output for 7.4.3
Case array_push() inside looping duration of 0.140347s (avg. each 0.00000626s) +0.00% Case array_merge() after looping duration of 0.241862s (avg. each 0.00001079s) +72.33% Case array_merge() inside looping duration of 1.121285s (avg. each 0.00005005s) +698.94% Total duration: 1.504344s
Output for 7.4.2
Case array_push() inside looping duration of 0.130548s (avg. each 0.00000548s) +0.00% Case array_merge() after looping duration of 0.245407s (avg. each 0.00001031s) +87.98% Case array_merge() inside looping duration of 1.126692s (avg. each 0.00004733s) +763.05% Total duration: 1.503524s
Output for 7.4.1
Case array_push() inside looping duration of 0.133522s (avg. each 0.00000558s) +0.00% Case array_merge() after looping duration of 0.254333s (avg. each 0.00001064s) +90.48% Case array_merge() inside looping duration of 1.112350s (avg. each 0.00004654s) +733.08% Total duration: 1.500867s
Output for 7.4.0
Case array_push() inside looping duration of 0.132360s (avg. each 0.00000604s) +0.00% Case array_merge() after looping duration of 0.256847s (avg. each 0.00001172s) +94.05% Case array_merge() inside looping duration of 1.112477s (avg. each 0.00005079s) +740.49% Total duration: 1.502422s
Output for 7.3.29
Case array_push() inside looping duration of 0.064140s (avg. each 0.00000605s) +0.00% Case array_merge() after looping duration of 0.109400s (avg. each 0.00001032s) +70.56% Case array_merge() inside looping duration of 1.333219s (avg. each 0.00012577s) +1978.61% Total duration: 1.507340s
Output for 7.3.28
Case array_push() inside looping duration of 0.064588s (avg. each 0.00000733s) +0.00% Case array_merge() after looping duration of 0.110479s (avg. each 0.00001255s) +71.05% Case array_merge() inside looping duration of 1.325529s (avg. each 0.00015062s) +1952.30% Total duration: 1.501007s
Output for 7.3.27
Case array_push() inside looping duration of 0.065224s (avg. each 0.00000621s) +0.00% Case array_merge() after looping duration of 0.112184s (avg. each 0.00001068s) +72.00% Case array_merge() inside looping duration of 1.329080s (avg. each 0.00012657s) +1937.72% Total duration: 1.507002s
Output for 7.3.26
Case array_push() inside looping duration of 0.063024s (avg. each 0.00000557s) +0.00% Case array_merge() after looping duration of 0.110175s (avg. each 0.00000975s) +74.81% Case array_merge() inside looping duration of 1.328846s (avg. each 0.00011759s) +2008.47% Total duration: 1.502426s
Output for 7.3.25
Case array_push() inside looping duration of 0.061502s (avg. each 0.00000559s) +0.00% Case array_merge() after looping duration of 0.109121s (avg. each 0.00000992s) +77.43% Case array_merge() inside looping duration of 1.339801s (avg. each 0.00012180s) +2078.46% Total duration: 1.510826s
Output for 7.3.24
Case array_push() inside looping duration of 0.064929s (avg. each 0.00000584s) +0.00% Case array_merge() after looping duration of 0.113579s (avg. each 0.00001023s) +74.93% Case array_merge() inside looping duration of 1.330266s (avg. each 0.00011984s) +1948.82% Total duration: 1.509132s
Output for 7.3.23
Case array_push() inside looping duration of 0.062921s (avg. each 0.00000622s) +0.00% Case array_merge() after looping duration of 0.108120s (avg. each 0.00001070s) +71.84% Case array_merge() inside looping duration of 1.329890s (avg. each 0.00013167s) +2013.60% Total duration: 1.501473s
Output for 7.3.22
Case array_push() inside looping duration of 0.062415s (avg. each 0.00000624s) +0.00% Case array_merge() after looping duration of 0.109646s (avg. each 0.00001096s) +75.67% Case array_merge() inside looping duration of 1.330610s (avg. each 0.00013306s) +2031.89% Total duration: 1.503118s
Output for 7.3.21
Case array_push() inside looping duration of 0.063443s (avg. each 0.00000729s) +0.00% Case array_merge() after looping duration of 0.109614s (avg. each 0.00001259s) +72.77% Case array_merge() inside looping duration of 1.331791s (avg. each 0.00015307s) +1999.18% Total duration: 1.505255s
Output for 7.3.20
Case array_push() inside looping duration of 0.063983s (avg. each 0.00000592s) +0.00% Case array_merge() after looping duration of 0.113452s (avg. each 0.00001050s) +77.32% Case array_merge() inside looping duration of 1.322120s (avg. each 0.00012241s) +1966.36% Total duration: 1.500028s
Output for 7.3.19
Case array_push() inside looping duration of 0.066091s (avg. each 0.00000695s) +0.00% Case array_merge() after looping duration of 0.111071s (avg. each 0.00001169s) +68.06% Case array_merge() inside looping duration of 1.332057s (avg. each 0.00014021s) +1915.50% Total duration: 1.509597s
Output for 7.3.18
Case array_push() inside looping duration of 0.064285s (avg. each 0.00000595s) +0.00% Case array_merge() after looping duration of 0.111758s (avg. each 0.00001034s) +73.85% Case array_merge() inside looping duration of 1.334748s (avg. each 0.00012358s) +1976.30% Total duration: 1.511273s
Output for 7.3.17
Case array_push() inside looping duration of 0.065488s (avg. each 0.00000617s) +0.00% Case array_merge() after looping duration of 0.111364s (avg. each 0.00001050s) +70.05% Case array_merge() inside looping duration of 1.328877s (avg. each 0.00012536s) +1929.18% Total duration: 1.506219s
Output for 7.3.16
Case array_push() inside looping duration of 0.061737s (avg. each 0.00000623s) +0.00% Case array_merge() after looping duration of 0.107410s (avg. each 0.00001084s) +73.98% Case array_merge() inside looping duration of 1.338787s (avg. each 0.00013523s) +2068.52% Total duration: 1.508409s
Output for 7.3.15
Case array_push() inside looping duration of 0.063556s (avg. each 0.00000706s) +0.00% Case array_merge() after looping duration of 0.109682s (avg. each 0.00001218s) +72.57% Case array_merge() inside looping duration of 1.333708s (avg. each 0.00014818s) +1998.46% Total duration: 1.507370s
Output for 7.3.14
Case array_push() inside looping duration of 0.059610s (avg. each 0.00000709s) +0.00% Case array_merge() after looping duration of 0.107201s (avg. each 0.00001276s) +79.84% Case array_merge() inside looping duration of 1.348825s (avg. each 0.00016057s) +2162.75% Total duration: 1.516030s
Output for 7.3.13
Case array_push() inside looping duration of 0.060467s (avg. each 0.00000617s) +0.00% Case array_merge() after looping duration of 0.104772s (avg. each 0.00001069s) +73.27% Case array_merge() inside looping duration of 1.340772s (avg. each 0.00013681s) +2117.35% Total duration: 1.506466s
Output for 7.3.12
Case array_push() inside looping duration of 0.063019s (avg. each 0.00000797s) +0.00% Case array_merge() after looping duration of 0.106278s (avg. each 0.00001345s) +68.64% Case array_merge() inside looping duration of 1.336685s (avg. each 0.00016920s) +2021.09% Total duration: 1.506419s
Output for 7.3.11
Case array_push() inside looping duration of 0.063320s (avg. each 0.00000680s) +0.00% Case array_merge() after looping duration of 0.113099s (avg. each 0.00001216s) +78.61% Case array_merge() inside looping duration of 1.325925s (avg. each 0.00014257s) +1993.99% Total duration: 1.502824s
Output for 7.3.10
Case array_push() inside looping duration of 0.063755s (avg. each 0.00000584s) +0.00% Case array_merge() after looping duration of 0.112762s (avg. each 0.00001034s) +76.87% Case array_merge() inside looping duration of 1.326136s (avg. each 0.00012166s) +1980.06% Total duration: 1.503119s
Output for 7.3.9
Case array_push() inside looping duration of 0.062539s (avg. each 0.00000625s) +0.00% Case array_merge() after looping duration of 0.115123s (avg. each 0.00001151s) +84.08% Case array_merge() inside looping duration of 1.328777s (avg. each 0.00013287s) +2024.71% Total duration: 1.506898s
Output for 7.3.8
Case array_push() inside looping duration of 0.063256s (avg. each 0.00000608s) +0.00% Case array_merge() after looping duration of 0.111502s (avg. each 0.00001072s) +76.27% Case array_merge() inside looping duration of 1.345441s (avg. each 0.00012936s) +2026.98% Total duration: 1.520543s
Output for 7.3.7
Case array_push() inside looping duration of 0.063127s (avg. each 0.00000693s) +0.00% Case array_merge() after looping duration of 0.111009s (avg. each 0.00001219s) +75.85% Case array_merge() inside looping duration of 1.333944s (avg. each 0.00014658s) +2013.12% Total duration: 1.508499s
Output for 7.3.6
Case array_push() inside looping duration of 0.065168s (avg. each 0.00000671s) +0.00% Case array_merge() after looping duration of 0.112350s (avg. each 0.00001158s) +72.40% Case array_merge() inside looping duration of 1.330302s (avg. each 0.00013714s) +1941.33% Total duration: 1.508249s
Output for 7.3.5
Case array_push() inside looping duration of 0.065804s (avg. each 0.00000626s) +0.00% Case array_merge() after looping duration of 0.110425s (avg. each 0.00001051s) +67.81% Case array_merge() inside looping duration of 1.327620s (avg. each 0.00012643s) +1917.52% Total duration: 1.504279s
Output for 7.3.4
Case array_push() inside looping duration of 0.062367s (avg. each 0.00000656s) +0.00% Case array_merge() after looping duration of 0.107839s (avg. each 0.00001135s) +72.91% Case array_merge() inside looping duration of 1.340202s (avg. each 0.00014107s) +2048.89% Total duration: 1.510815s
Output for 7.3.3
Case array_push() inside looping duration of 0.065035s (avg. each 0.00000619s) +0.00% Case array_merge() after looping duration of 0.111753s (avg. each 0.00001064s) +71.83% Case array_merge() inside looping duration of 1.335149s (avg. each 0.00012715s) +1952.97% Total duration: 1.512364s
Output for 7.3.2
Case array_push() inside looping duration of 0.064414s (avg. each 0.00000580s) +0.00% Case array_merge() after looping duration of 0.112397s (avg. each 0.00001012s) +74.49% Case array_merge() inside looping duration of 1.333620s (avg. each 0.00012014s) +1970.40% Total duration: 1.510813s
Output for 7.3.1
Case array_push() inside looping duration of 0.063237s (avg. each 0.00000602s) +0.00% Case array_merge() after looping duration of 0.112648s (avg. each 0.00001072s) +78.14% Case array_merge() inside looping duration of 1.330506s (avg. each 0.00012671s) +2003.99% Total duration: 1.506766s
Output for 7.3.0
Case array_push() inside looping duration of 0.061633s (avg. each 0.00000628s) +0.00% Case array_merge() after looping duration of 0.115599s (avg. each 0.00001179s) +87.56% Case array_merge() inside looping duration of 1.329019s (avg. each 0.00013561s) +2056.35% Total duration: 1.506751s
Output for 7.1.33
Case array_push() inside looping duration of 0.181664s (avg. each 0.00000936s) +0.00% Case array_merge() after looping duration of 0.219857s (avg. each 0.00001133s) +21.02% Case array_merge() inside looping duration of 1.100524s (avg. each 0.00005672s) +505.80% Total duration: 1.503150s

preferences:
68.82 ms | 402 KiB | 65 Q