SHARE
TWEET

Untitled

a guest Aug 19th, 2019 70 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2.        
  3. $objArr = Region::find()->all();
  4.         $iterations = 250;
  5.  
  6.         $i = 0;
  7.         $result = [];
  8.         $start1 = microtime(true);
  9.         for ($i = 0; $i < $iterations; $i++) {
  10.             foreach ($objArr as $obj) {
  11.                 $result[] = $obj->id;
  12.             }
  13.         }
  14.         $end1 = microtime(true);
  15.         unset($result);
  16.  
  17.         $i = 0;
  18.         $result = [];
  19.         $start2 = microtime(true);
  20.         for ($i = 0; $i < $iterations; $i++) {
  21.             $result = ArrayHelper::getColumn($objArr, 'id');
  22.         }
  23.         $end2 = microtime(true);
  24.         unset($result);
  25.  
  26.         $i = 0;
  27.         $result = [];
  28.         $start3 = microtime(true);
  29.         for ($i = 0; $i < $iterations; $i++) {
  30.             $result = array_map(function ($x) {
  31.                 return $x->id;
  32.             }, $objArr);
  33.         }
  34.         $end3 = microtime(true);
  35.         unset($result);
  36.  
  37.         $d1 = $end1 - $start1;
  38.         $d2 = $end2 - $start2;
  39.         $d3 = $end3 - $start3;
  40.  
  41.         $result = [];
  42.         $start1 = microtime(true);
  43.         for ($i = 0; $i < $iterations; $i++) {
  44.             $result = [];
  45.             foreach ($objArr as $obj) {
  46.                 $result[] = $obj->id;
  47.             }
  48.         }
  49.         $end1 = microtime(true);
  50.         unset($result);
  51.  
  52.         $i = 0;
  53.         $result = [];
  54.         $start2 = microtime(true);
  55.         for ($i = 0; $i < $iterations; $i++) {
  56.             $result = ArrayHelper::getColumn($objArr, 'id');
  57.         }
  58.         $end2 = microtime(true);
  59.         unset($result);
  60.  
  61.         $i = 0;
  62.         $result = [];
  63.         $start3 = microtime(true);
  64.         for ($i = 0; $i < $iterations; $i++) {
  65.             $result = array_map(function ($x) {
  66.                 return $x->id;
  67.             }, $objArr);
  68.         }
  69.         $end3 = microtime(true);
  70.         unset($result);
  71.  
  72.         $d1 += $end1 - $start1;
  73.         $d2 += $end2 - $start2;
  74.         $d3 += $end3 - $start3;
  75.         $arr = ['normal' => $d1, 'arrhelper' => $d2, 'map' => $d3];
  76.         asort($arr);
  77.         echo(json_encode($arr));
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Not a member of Pastebin yet?
Sign Up, it unlocks many cool features!
 
Top