3v4l.org

run code in 300+ PHP versions simultaneously
#!/usr/bin/php <?php declare(strict_types=1); const ITERATIONS = 100000; $results = array(); for ($i = 0; $i < ITERATIONS; ++$i) { // heat up cpu (if it was powersaving-running-low-cus-nothing-was-happening, most modern cpus try to do it by default) } function array_is_list_post(array $array): bool { $i = 0; foreach ($array as $k => $v) { if ($k !== $i++) { return false; } } return true; } function array_is_list_pre(array $array): bool { $i = -1; foreach ($array as $k => $v) { ++$i; if ($k !== $i) { return false; } } return true; } $l1 = str_split(str_repeat("A", 300), 1); $t = microtime(true); for ($i = 0; $i < ITERATIONS; ++$i) { array_is_list_pre($l1); } $t = microtime(true) - $t; $results["pre"] = $t; $t = microtime(true); for ($i = 0; $i < ITERATIONS; ++$i) { array_is_list_post($l1); } $t = microtime(true) - $t; $results["post"] = $t; if ($results["pre"] === $results["post"]) { echo "it's a tie!"; } elseif ($results["pre"] < $results["post"]) { echo "pre is faster!"; } else { echo "post is faster!"; } echo "diff: " . abs(($results["pre"] - $results["post"])) . "\n"; var_dump($results); exit();
Output for 8.3.6
pre is faster!diff: 0.020012855529785 array(2) { ["pre"]=> float(0.5907371044158936) ["post"]=> float(0.6107499599456787) }
Output for 8.3.4
pre is faster!diff: 0.020249128341675 array(2) { ["pre"]=> float(0.639556884765625) ["post"]=> float(0.6598060131072998) }
Output for 8.3.3
pre is faster!diff: 0.01495885848999 array(2) { ["pre"]=> float(0.6620709896087646) ["post"]=> float(0.6770298480987549) }
Output for 8.3.2
pre is faster!diff: 0.052385091781616 array(2) { ["pre"]=> float(0.6026060581207275) ["post"]=> float(0.6549911499023438) }
Output for 8.3.1
post is faster!diff: 0.024098873138428 array(2) { ["pre"]=> float(0.7235920429229736) ["post"]=> float(0.6994931697845459) }
Output for 8.3.0
pre is faster!diff: 0.026246786117554 array(2) { ["pre"]=> float(0.5866110324859619) ["post"]=> float(0.6128578186035156) }
Output for 8.2.18
pre is faster!diff: 0.035575151443481 array(2) { ["pre"]=> float(0.6007919311523438) ["post"]=> float(0.6363670825958252) }
Output for 8.2.17
pre is faster!diff: 0.058247089385986 array(2) { ["pre"]=> float(0.618311882019043) ["post"]=> float(0.6765589714050293) }
Output for 8.2.16
pre is faster!diff: 0.019705057144165 array(2) { ["pre"]=> float(0.586777925491333) ["post"]=> float(0.606482982635498) }
Output for 8.2.15
pre is faster!diff: 0.023115873336792 array(2) { ["pre"]=> float(0.5975461006164551) ["post"]=> float(0.6206619739532471) }
Output for 8.2.14
pre is faster!diff: 0.022955179214478 array(2) { ["pre"]=> float(0.6416079998016357) ["post"]=> float(0.6645631790161133) }
Output for 8.2.13
pre is faster!diff: 0.052433252334595 array(2) { ["pre"]=> float(0.6574239730834961) ["post"]=> float(0.7098572254180908) }
Output for 8.2.12
pre is faster!diff: 0.12273001670837 array(2) { ["pre"]=> float(0.6079139709472656) ["post"]=> float(0.7306439876556396) }
Output for 8.2.11
pre is faster!diff: 0.14909219741821 array(2) { ["pre"]=> float(0.6057298183441162) ["post"]=> float(0.7548220157623291) }
Output for 8.2.10
pre is faster!diff: 0.10964822769165 array(2) { ["pre"]=> float(0.5654728412628174) ["post"]=> float(0.6751210689544678) }
Output for 8.2.9
post is faster!diff: 0.0066728591918945 array(2) { ["pre"]=> float(0.6196320056915283) ["post"]=> float(0.6129591464996338) }
Output for 8.2.8
pre is faster!diff: 0.031234979629517 array(2) { ["pre"]=> float(0.6054890155792236) ["post"]=> float(0.6367239952087402) }
Output for 8.2.7
pre is faster!diff: 0.080216884613037 array(2) { ["pre"]=> float(0.5650980472564697) ["post"]=> float(0.6453149318695068) }
Output for 8.2.6
post is faster!diff: 0.00010275840759277 array(2) { ["pre"]=> float(0.6105718612670898) ["post"]=> float(0.6104691028594971) }
Output for 8.2.5
pre is faster!diff: 0.036946058273315 array(2) { ["pre"]=> float(0.6055500507354736) ["post"]=> float(0.6424961090087891) }
Output for 8.2.4
pre is faster!diff: 0.03110408782959 array(2) { ["pre"]=> float(0.6667499542236328) ["post"]=> float(0.6978540420532227) }
Output for 8.2.3
post is faster!diff: 0.016812086105347 array(2) { ["pre"]=> float(0.6324460506439209) ["post"]=> float(0.6156339645385742) }
Output for 8.2.2
post is faster!diff: 0.01549506187439 array(2) { ["pre"]=> float(0.6210441589355469) ["post"]=> float(0.6055490970611572) }
Output for 8.2.1
pre is faster!diff: 0.045366048812866 array(2) { ["pre"]=> float(0.582115888595581) ["post"]=> float(0.6274819374084473) }
Output for 8.2.0
pre is faster!diff: 0.045784950256348 array(2) { ["pre"]=> float(0.5969178676605225) ["post"]=> float(0.6427028179168701) }
Output for 8.1.28
pre is faster!diff: 0.044034957885742 array(2) { ["pre"]=> float(0.6028389930725098) ["post"]=> float(0.646873950958252) }
Output for 8.1.27
post is faster!diff: 0.0028808116912842 array(2) { ["pre"]=> float(0.5873959064483643) ["post"]=> float(0.5845150947570801) }
Output for 8.1.26
post is faster!diff: 0.04430890083313 array(2) { ["pre"]=> float(0.6515028476715088) ["post"]=> float(0.6071939468383789) }
Output for 8.1.25
pre is faster!diff: 0.050633192062378 array(2) { ["pre"]=> float(0.5937769412994385) ["post"]=> float(0.6444101333618164) }
Output for 8.1.24
post is faster!diff: 0.03790807723999 array(2) { ["pre"]=> float(0.6919851303100586) ["post"]=> float(0.6540770530700684) }
Output for 8.1.23
post is faster!diff: 0.012119054794312 array(2) { ["pre"]=> float(0.697180986404419) ["post"]=> float(0.6850619316101074) }
Output for 8.1.22
post is faster!diff: 0.065139055252075 array(2) { ["pre"]=> float(0.6730680465698242) ["post"]=> float(0.607928991317749) }
Output for 8.1.21
post is faster!diff: 0.031469821929932 array(2) { ["pre"]=> float(0.630591869354248) ["post"]=> float(0.5991220474243164) }
Output for 8.1.20
pre is faster!diff: 0.020538806915283 array(2) { ["pre"]=> float(0.6156370639801025) ["post"]=> float(0.6361758708953857) }
Output for 8.1.19
pre is faster!diff: 0.054194211959839 array(2) { ["pre"]=> float(0.5802628993988037) ["post"]=> float(0.6344571113586426) }
Output for 8.1.18
post is faster!diff: 0.030556201934814 array(2) { ["pre"]=> float(0.628270149230957) ["post"]=> float(0.5977139472961426) }
Output for 8.1.17
post is faster!diff: 0.04408073425293 array(2) { ["pre"]=> float(0.650615930557251) ["post"]=> float(0.6065351963043213) }
Output for 8.1.16
pre is faster!diff: 0.033128023147583 array(2) { ["pre"]=> float(0.5811018943786621) ["post"]=> float(0.6142299175262451) }
Output for 8.1.15
pre is faster!diff: 0.0086472034454346 array(2) { ["pre"]=> float(0.5909068584442139) ["post"]=> float(0.5995540618896484) }
Output for 8.1.14
pre is faster!diff: 0.0069370269775391 array(2) { ["pre"]=> float(0.6107699871063232) ["post"]=> float(0.6177070140838623) }
Output for 8.1.13
pre is faster!diff: 0.093302011489868 array(2) { ["pre"]=> float(0.5847089290618896) ["post"]=> float(0.6780109405517578) }
Output for 8.1.12
pre is faster!diff: 0.037905931472778 array(2) { ["pre"]=> float(0.5907361507415771) ["post"]=> float(0.6286420822143555) }
Output for 8.1.11
pre is faster!diff: 0.027348041534424 array(2) { ["pre"]=> float(0.5685999393463135) ["post"]=> float(0.5959479808807373) }
Output for 8.1.10
pre is faster!diff: 0.047079086303711 array(2) { ["pre"]=> float(0.6205239295959473) ["post"]=> float(0.6676030158996582) }
Output for 8.1.9
pre is faster!diff: 0.057337045669556 array(2) { ["pre"]=> float(0.6616220474243164) ["post"]=> float(0.7189590930938721) }
Output for 8.1.8
post is faster!diff: 0.079105138778687 array(2) { ["pre"]=> float(0.7534661293029785) ["post"]=> float(0.674360990524292) }
Output for 8.1.7
pre is faster!diff: 0.017544984817505 array(2) { ["pre"]=> float(0.5924789905548096) ["post"]=> float(0.6100239753723145) }
Output for 8.1.6
pre is faster!diff: 0.016105175018311 array(2) { ["pre"]=> float(0.5864129066467285) ["post"]=> float(0.6025180816650391) }
Output for 8.1.5
post is faster!diff: 0.034750938415527 array(2) { ["pre"]=> float(0.6407418251037598) ["post"]=> float(0.6059908866882324) }
Output for 8.1.4
post is faster!diff: 0.0087270736694336 array(2) { ["pre"]=> float(0.6001741886138916) ["post"]=> float(0.591447114944458) }
Output for 8.1.3
pre is faster!diff: 0.0065848827362061 array(2) { ["pre"]=> float(0.6148631572723389) ["post"]=> float(0.6214480400085449) }
Output for 8.1.2
pre is faster!diff: 0.024605989456177 array(2) { ["pre"]=> float(0.5753190517425537) ["post"]=> float(0.5999250411987305) }
Output for 8.1.1
pre is faster!diff: 0.084702968597412 array(2) { ["pre"]=> float(0.5708060264587402) ["post"]=> float(0.6555089950561523) }
Output for 8.1.0
pre is faster!diff: 0.048531055450439 array(2) { ["pre"]=> float(0.5677440166473389) ["post"]=> float(0.6162750720977783) }
Output for 8.0.30
pre is faster!diff: 0.024512052536011 array(2) { ["pre"]=> float(0.8021008968353271) ["post"]=> float(0.8266129493713379) }
Output for 8.0.29
pre is faster!diff: 0.020113945007324 array(2) { ["pre"]=> float(0.7124791145324707) ["post"]=> float(0.7325930595397949) }
Output for 8.0.28
pre is faster!diff: 0.010277032852173 array(2) { ["pre"]=> float(0.7135879993438721) ["post"]=> float(0.7238650321960449) }
Output for 8.0.27
pre is faster!diff: 0.063817024230957 array(2) { ["pre"]=> float(0.6150479316711426) ["post"]=> float(0.6788649559020996) }
Output for 8.0.26
post is faster!diff: 0.0012691020965576 array(2) { ["pre"]=> float(0.635504961013794) ["post"]=> float(0.6342358589172363) }
Output for 8.0.25
pre is faster!diff: 0.10159826278687 array(2) { ["pre"]=> float(0.6255018711090088) ["post"]=> float(0.727100133895874) }
Output for 8.0.24
pre is faster!diff: 0.029591798782349 array(2) { ["pre"]=> float(0.6072971820831299) ["post"]=> float(0.6368889808654785) }
Output for 8.0.23
pre is faster!diff: 0.086130857467651 array(2) { ["pre"]=> float(0.6356201171875) ["post"]=> float(0.7217509746551514) }
Output for 8.0.22
post is faster!diff: 0.0018038749694824 array(2) { ["pre"]=> float(0.6278829574584961) ["post"]=> float(0.6260790824890137) }
Output for 8.0.21
pre is faster!diff: 0.04885196685791 array(2) { ["pre"]=> float(0.6214120388031006) ["post"]=> float(0.6702640056610107) }
Output for 8.0.20
pre is faster!diff: 0.0099711418151855 array(2) { ["pre"]=> float(0.6951818466186523) ["post"]=> float(0.7051529884338379) }
Output for 8.0.19
pre is faster!diff: 0.033960819244385 array(2) { ["pre"]=> float(0.6362380981445312) ["post"]=> float(0.670198917388916) }
Output for 8.0.18
pre is faster!diff: 0.066083908081055 array(2) { ["pre"]=> float(0.5850801467895508) ["post"]=> float(0.6511640548706055) }
Output for 8.0.17
pre is faster!diff: 0.048325300216675 array(2) { ["pre"]=> float(0.6105678081512451) ["post"]=> float(0.6588931083679199) }
Output for 8.0.16
pre is faster!diff: 0.12185311317444 array(2) { ["pre"]=> float(0.8267269134521484) ["post"]=> float(0.9485800266265869) }
Output for 8.0.15
pre is faster!diff: 0.021811008453369 array(2) { ["pre"]=> float(0.8669459819793701) ["post"]=> float(0.8887569904327393) }
Output for 8.0.14
pre is faster!diff: 0.032198190689087 array(2) { ["pre"]=> float(0.6020839214324951) ["post"]=> float(0.634282112121582) }
Output for 8.0.13
pre is faster!diff: 0.041516065597534 array(2) { ["pre"]=> float(0.5974478721618652) ["post"]=> float(0.6389639377593994) }
Output for 8.0.12
pre is faster!diff: 0.067852258682251 array(2) { ["pre"]=> float(0.589587926864624) ["post"]=> float(0.657440185546875) }
Output for 8.0.11
pre is faster!diff: 0.031819820404053 array(2) { ["pre"]=> float(0.6079270839691162) ["post"]=> float(0.639746904373169) }
Output for 8.0.10
pre is faster!diff: 0.077123165130615 array(2) { ["pre"]=> float(0.7411239147186279) ["post"]=> float(0.8182470798492432) }
Output for 8.0.9
pre is faster!diff: 0.12103867530823 array(2) { ["pre"]=> float(0.6249442100524902) ["post"]=> float(0.7459828853607178) }
Output for 8.0.8
pre is faster!diff: 0.088284969329834 array(2) { ["pre"]=> float(0.6613969802856445) ["post"]=> float(0.7496819496154785) }
Output for 8.0.7
pre is faster!diff: 0.084391117095947 array(2) { ["pre"]=> float(0.604835033416748) ["post"]=> float(0.6892261505126953) }
Output for 8.0.6
pre is faster!diff: 0.04371190071106 array(2) { ["pre"]=> float(0.595750093460083) ["post"]=> float(0.6394619941711426) }
Output for 8.0.5
pre is faster!diff: 0.021038055419922 array(2) { ["pre"]=> float(0.6085720062255859) ["post"]=> float(0.6296100616455078) }
Output for 8.0.3
post is faster!diff: 0.034670829772949 array(2) { ["pre"]=> float(0.8685529232025146) ["post"]=> float(0.8338820934295654) }
Output for 8.0.2
pre is faster!diff: 0.048512935638428 array(2) { ["pre"]=> float(0.6042430400848389) ["post"]=> float(0.6527559757232666) }
Output for 8.0.1
pre is faster!diff: 0.0047440528869629 array(2) { ["pre"]=> float(0.637937068939209) ["post"]=> float(0.6426811218261719) }
Output for 7.4.33
pre is faster!diff: 0.061630964279175 array(2) { ["pre"]=> float(0.6324999332428) ["post"]=> float(0.69413089752197) }
Output for 7.4.32
pre is faster!diff: 0.044288158416748 array(2) { ["pre"]=> float(0.62972497940063) ["post"]=> float(0.67401313781738) }
Output for 7.4.30
pre is faster!diff: 0.10111498832703 array(2) { ["pre"]=> float(0.71271800994873) ["post"]=> float(0.81383299827576) }
Output for 7.4.29
pre is faster!diff: 0.038685083389282 array(2) { ["pre"]=> float(0.60169291496277) ["post"]=> float(0.64037799835205) }
Output for 7.4.28
pre is faster!diff: 0.040524005889893 array(2) { ["pre"]=> float(0.60141611099243) ["post"]=> float(0.64194011688232) }
Output for 7.4.27
pre is faster!diff: 0.036483764648438 array(2) { ["pre"]=> float(0.6093270778656) ["post"]=> float(0.64581084251404) }
Output for 7.4.26
pre is faster!diff: 0.029666185379028 array(2) { ["pre"]=> float(0.61035895347595) ["post"]=> float(0.64002513885498) }
Output for 7.4.25
pre is faster!diff: 0.071407079696655 array(2) { ["pre"]=> float(0.6004798412323) ["post"]=> float(0.67188692092896) }
Output for 7.4.24
post is faster!diff: 0.080763816833496 array(2) { ["pre"]=> float(0.73733997344971) ["post"]=> float(0.65657615661621) }
Output for 7.4.23
pre is faster!diff: 0.026582002639771 array(2) { ["pre"]=> float(0.63829803466797) ["post"]=> float(0.66488003730774) }
Output for 7.4.22
pre is faster!diff: 0.0053408145904541 array(2) { ["pre"]=> float(0.75626611709595) ["post"]=> float(0.7616069316864) }
Output for 7.4.21
pre is faster!diff: 0.080609083175659 array(2) { ["pre"]=> float(0.60932898521423) ["post"]=> float(0.68993806838989) }
Output for 7.4.20
post is faster!diff: 0.028225898742676 array(2) { ["pre"]=> float(0.67095494270325) ["post"]=> float(0.64272904396057) }
Output for 7.4.19
pre is faster!diff: 0.0053269863128662 array(2) { ["pre"]=> float(0.65937399864197) ["post"]=> float(0.66470098495483) }
Output for 7.4.18
post is faster!diff: 0.0017590522766113 array(2) { ["pre"]=> float(0.71586394309998) ["post"]=> float(0.71410489082336) }
Output for 7.4.16
pre is faster!diff: 0.025698184967041 array(2) { ["pre"]=> float(0.61396479606628) ["post"]=> float(0.63966298103333) }
Output for 7.4.15
pre is faster!diff: 0.064320802688599 array(2) { ["pre"]=> float(0.61980509757996) ["post"]=> float(0.68412590026855) }
Output for 7.4.14
pre is faster!diff: 0.088658332824707 array(2) { ["pre"]=> float(0.61284685134888) ["post"]=> float(0.70150518417358) }
Output for 7.4.13
pre is faster!diff: 0.0075693130493164 array(2) { ["pre"]=> float(0.63746285438538) ["post"]=> float(0.64503216743469) }
Output for 7.4.12
pre is faster!diff: 0.023665904998779 array(2) { ["pre"]=> float(0.6372811794281) ["post"]=> float(0.66094708442688) }
Output for 7.4.11
pre is faster!diff: 0.037328004837036 array(2) { ["pre"]=> float(0.63212394714355) ["post"]=> float(0.66945195198059) }
Output for 7.4.10
pre is faster!diff: 0.10829281806946 array(2) { ["pre"]=> float(0.61332011222839) ["post"]=> float(0.72161293029785) }
Output for 7.4.9
pre is faster!diff: 0.027186155319214 array(2) { ["pre"]=> float(0.61785292625427) ["post"]=> float(0.64503908157349) }
Output for 7.4.8
pre is faster!diff: 0.016076803207397 array(2) { ["pre"]=> float(0.62868309020996) ["post"]=> float(0.64475989341736) }
Output for 7.4.7
pre is faster!diff: 0.020184993743896 array(2) { ["pre"]=> float(0.62879800796509) ["post"]=> float(0.64898300170898) }
Output for 7.4.6
pre is faster!diff: 0.020462989807129 array(2) { ["pre"]=> float(0.63212203979492) ["post"]=> float(0.65258502960205) }
Output for 7.4.5
post is faster!diff: 0.08468222618103 array(2) { ["pre"]=> float(0.73070406913757) ["post"]=> float(0.64602184295654) }
Output for 7.4.4
pre is faster!diff: 0.023482084274292 array(2) { ["pre"]=> float(0.77657985687256) ["post"]=> float(0.80006194114685) }
Output for 7.4.3
pre is faster!diff: 0.040845155715942 array(2) { ["pre"]=> float(0.75436592102051) ["post"]=> float(0.79521107673645) }
Output for 7.4.2
pre is faster!diff: 0.016625881195068 array(2) { ["pre"]=> float(0.77508211135864) ["post"]=> float(0.79170799255371) }
Output for 7.4.1
pre is faster!diff: 0.029244899749756 array(2) { ["pre"]=> float(0.61158514022827) ["post"]=> float(0.64083003997803) }
Output for 7.4.0
pre is faster!diff: 0.028409957885742 array(2) { ["pre"]=> float(0.62038087844849) ["post"]=> float(0.64879083633423) }

preferences:
130 ms | 401 KiB | 120 Q