3v4l.org

run code in 300+ PHP versions simultaneously
<?php ini_set('hhvm.enable_zend_sorting', 0); function timed($return=false){ global $timestart; if (!isset($timestart)){$timestart=getmicrotime();return;} static $time1; $time2=getmicrotime(); if (!$time1)$time1=$timestart; $diff=($time2-$time1); $time1=$time2; if ($return)return $diff; echo "<BR>".$diff.'<BR>'; } function getmicrotime(){ list($usec, $sec) = explode(" ", microtime()); return ((float)$usec + (float)$sec); } define("thisIsVeryBigKeyName0",0); define("thisIsVeryBigKeyName1",1); $arraysize=1000; $interate=100; $a=array(); timed(); for ($n=0;$n<$arraysize;$n++){ $a[]=array("thisIsVeryBigKeyName0"=>0,"thisIsVeryBigKeyName1"=>1); } for ($n=0;$n<$interate;$n++){ foreach ($a as $a2){ $test=$a2["thisIsVeryBigKeyName0"].$a2["thisIsVeryBigKeyName1"]; } } echo "assoc name: time ".timed(1)." usage ".memory_get_usage()." peakusage ".memory_get_peak_usage()."<BR>\n"; unset ($a); timed(1); $a=array(); for ($n=0;$n<$arraysize;$n++){ $a[]=array(thisIsVeryBigKeyName0=>0,thisIsVeryBigKeyName1=>1); } for ($n=0;$n<$interate;$n++){ foreach ($a as $a2){ $test=$a2[thisIsVeryBigKeyName0].$a2[thisIsVeryBigKeyName1]; } } echo "define : time ".timed(1)." usage ".memory_get_usage()." peakusage ".memory_get_peak_usage()."<BR>\n"; unset($a); timed(1); $a=array(); for ($n=0;$n<$arraysize;$n++){ $a[]=array(0=>0,1=>1); } for ($n=0;$n<$interate;$n++){ foreach ($a as $a2){ $test=$a2[0].$a2[1]; } } echo "numeric : time ".timed(1)." usage ".memory_get_usage()." peakusage ".memory_get_peak_usage()."<BR>\n"; unset($a); timed(1); $a=array(); for ($n=0;$n<$arraysize;$n++){ $a[]=array(0,1); } for ($n=0;$n<$interate;$n++){ foreach ($a as $a2){ $test=$a2[0].$a2[1]; } } echo "not assoc : time ".timed(1)." usage ".memory_get_usage()." peakusage ".memory_get_peak_usage()."<BR>\n"; unset($a); timed(1); $a=new SplFixedArray($arraysize); for ($n=0;$n<$arraysize;$n++){ $a[$n]=array(0,1); } for ($n=0;$n<$interate;$n++){ foreach ($a as $a2){ $test=$a2[0].$a2[1]; } } echo "spl+array : time ".timed(1)." usage ".memory_get_usage()." peakusage ".memory_get_peak_usage()."<BR>\n"; unset($a); timed(1); $a=new SplFixedArray($arraysize); for ($n=0;$n<$arraysize;$n++){ $b=new SplFixedArray(2); $b[0]=0;$b[1]=1; $a[$n]=$b; } for ($n=0;$n<$interate;$n++){ foreach ($a as $a2){ $test=$a2[0].$a2[1]; } } echo "spl only : time ".timed(1)." usage ".memory_get_usage()." peakusage ".memory_get_peak_usage()."<BR>\n"; unset($a); timed(1); $a=new SplFixedArray($arraysize); for ($n=0;$n<$arraysize;$n++){ $b=new SplFixedArray(2); $b[thisIsVeryBigKeyName0]=0;$b[thisIsVeryBigKeyName1]=1; $a[$n]=$b; } for ($n=0;$n<$interate;$n++){ foreach ($a as $a2){ $test=$a2[thisIsVeryBigKeyName0].$a2[thisIsVeryBigKeyName1]; } } echo "spl define: time ".timed(1)." usage ".memory_get_usage()." peakusage ".memory_get_peak_usage()."<BR>\n"; unset($a); timed(1); ?>

preferences:
24.63 ms | 402 KiB | 5 Q