亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > PHP > 正文

使用PHP原生函數就一定比自定義函數快嗎?

2024-09-04 11:49:14
字體:
來源:轉載
供稿:網友

之前聽到過的一個前輩關于php性能優化的說法——PHP為我們提供了那么多的原聲函數,我們盡量用原生函數解決問題,但是有時在想,php原生態的函數就一定快嗎?現在看到一個國外的人寫的函數,就來測試一下.

今天在閱讀kohana源碼中的Arr類的時候發現了這樣一個函數,代碼如下:

  1. /** 
  2.  * Fill an array with a range of numbers. 
  3.  * 
  4.  *     // Fill an array with values 5, 10, 15, 20 
  5.  *     $values = Arr::range(5, 20); 
  6.  * 
  7.  * @param   integer $step   stepping 
  8.  * @param   integer $max    ending number 
  9.  * @return  array 
  10.  */ 
  11. public static function range($step = 10, $max = 100) 
  12.     if ($step < 1) 
  13.         return array(); 
  14.  
  15.     $array = array(); 
  16.     for ($i = $step$i <= $max$i += $step
  17.     { 
  18.         $array[$i] = $i
  19.     } 
  20.  
  21.     return $array

看到這里的時候,我發現php的原聲函數也是可以實現這個功能的,忽然想到之前聽到過的一個前輩關于php性能優化的說法——PHP為我們提供了那么多的原聲函數,我們盡量用原生函數解決問題,于是我就做了個測試,看看php原生函數性能究竟比自己寫的快多少,要測試的函數有原生函數range()和上面的函數_range(),這里加下劃線開始是因為重寫原聲函數range()會報錯“Fatal error:Cannot redeclare range() in”.

代碼如下:

  1. function _range($step = 10, $max = 100) 
  2.     if ($step < 1) 
  3.         return array(); 
  4.     $array = array(); 
  5.     for ($i = $step$i <= $max$i += $step
  6.     { 
  7.         $array[$i] = $i
  8.     } 
  9.     return $array
  10. //開源軟件:Vevb.com 
  11. $time['begin'] = microtime(true); 
  12. $tmp = range(0,1000000,3); 
  13. //$tmp = _range(0,1000000,3); 
  14. $time['end']   = microtime(true); 
  15.  
  16. echo $time['end'] - $time['begin'].'s'."r"
  17. echo (memory_get_peak_usage()/1024/1024)."M"

分別用原生函數和自定義函數進行測試,在產生0~1000000之間所有的3的倍數時,結果出乎我的意料.

為了結果比較準確,我在做個圖表統計.

  1. 統計次數     原生函數range()     自定義函數_range() 
  2. (0,1000000,3)     5.155E-3s     27.5530M     1.907E-5s     0.1241M 
  3. (0,1000000,2)     7.479E-3s     40.2688M     1.811E-5s     0.1241M 
  4. (0,1000,1)     8.16E-5s     0.1620M     2.649E-5s     0.1241M 

從表中可以看出產生隨機數時自定義函數比原生函數要節省內存和時間,而且原生函數在生成大量隨機數時特別耗內存,消耗時間也特別多,而自定義函數在這方面則表現得好,產生的內存和消耗的時間基本穩定,看來前面那位前輩說的不一定完全正確哦,但是這里要注意我們這里的自定義函數只能生成數字,而原生的range還可以產生字母的,但是我想這自定義函數添加個字母應該也不會太難~

看來kohana官方對range這個函數很是了解,對php內核中該函數的復雜度也很了解,所以這個小優化才可以做這么好,太厲害了.

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩经典中文字幕在线观看| 亚洲欧洲日产国产网站| 亚洲国产高潮在线观看| 国产午夜精品免费一区二区三区| 欧美疯狂做受xxxx高潮| 亚洲无亚洲人成网站77777| 欧美国产日韩一区二区| 国产精品www| 久久天天躁狠狠躁夜夜躁2014| 欧美激情网友自拍| 亚洲精品欧美日韩专区| 欧美性猛交xxxx| 欧美野外猛男的大粗鳮| 欧美成人国产va精品日本一级| 青青草成人在线| 亚洲精品久久久一区二区三区| 动漫精品一区二区| 亚洲国产精品人久久电影| 欧美孕妇毛茸茸xxxx| 岛国av午夜精品| 热久久免费视频精品| 色吧影院999| 亚洲一二三在线| 97av在线视频免费播放| 欧美激情国内偷拍| 久久久精品一区二区| 在线观看国产精品淫| 亚洲乱码国产乱码精品精| 欧美成人精品一区二区三区| 欧美激情国产高清| 91精品在线观看视频| 国产日韩欧美在线播放| 欧美亚洲日本黄色| 国外日韩电影在线观看| 亚洲一区美女视频在线观看免费| 欧美日韩高清区| 国产69精品久久久久久| 久青草国产97香蕉在线视频| 国产欧美日韩亚洲精品| 91久久精品国产91性色| 精品夜色国产国偷在线| 日韩在线免费高清视频| 久久久国产精彩视频美女艺术照福利| 成人激情视频网| 91精品国产高清自在线| 日韩视频免费在线观看| 欧美激情一区二区久久久| 亚洲美女在线看| 九九精品在线播放| 欧美色视频日本版| 欧美日韩在线第一页| 亚洲成人av在线播放| 一级做a爰片久久毛片美女图片| 欧美视频裸体精品| 亚洲人成亚洲人成在线观看| 国产欧美日韩精品丝袜高跟鞋| 国产精品亚洲欧美导航| 欧美福利视频在线| 久久久久中文字幕2018| 亚洲精品一区中文| 欧美激情日韩图片| 另类天堂视频在线观看| www国产精品视频| 精品久久久91| 久久久久久com| 有码中文亚洲精品| 日本韩国在线不卡| 一区二区三区视频观看| 久久久999精品视频| 91情侣偷在线精品国产| 国产69久久精品成人看| 九九久久久久99精品| 538国产精品视频一区二区| 亚洲日韩中文字幕在线播放| 韩国19禁主播vip福利视频| 国产经典一区二区| 91国偷自产一区二区三区的观看方式| 日韩av手机在线观看| 精品国产福利视频| 性色av一区二区三区| 亚洲第一av网| 欧美夜福利tv在线| 成人综合国产精品| 色综久久综合桃花网| 国语自产精品视频在线看抢先版图片| 国产丝袜一区二区三区免费视频| 久久综合网hezyo| 日韩电影免费观看在线| 国产日韩精品在线播放| 欧美国产精品人人做人人爱| 欧美激情第三页| 不卡av在线网站| 欧美性极品xxxx做受| 成人免费淫片aa视频免费| 国产精品免费小视频| 日韩三级影视基地| 国产日韩在线观看av| 1769国内精品视频在线播放| 国产精品一二三视频| 伊人伊成久久人综合网站| 欧美最近摘花xxxx摘花| 国产日韩欧美视频在线| 久久精品在线播放| 亚洲国语精品自产拍在线观看| 78色国产精品| 亚洲男女自偷自拍图片另类| 久久精品中文字幕电影| 国产99久久精品一区二区永久免费| 欧美诱惑福利视频| 久久这里只有精品99| 日韩在线免费高清视频| 国产网站欧美日韩免费精品在线观看| 日韩美女视频免费看| 亚洲自拍偷拍一区| 国产噜噜噜噜久久久久久久久| 亚洲欧美在线磁力| 日韩视频在线免费| 国内成人精品视频| 亚洲jizzjizz日本少妇| 欧美激情亚洲激情| 欧美成人精品不卡视频在线观看| 国产欧美精品一区二区三区-老狼| 最近的2019中文字幕免费一页| 欧美性videos高清精品| 日韩精品视频在线观看免费| 国产精品美女主播在线观看纯欲| 成人精品一区二区三区电影黑人| 欧美在线视频免费播放| 一区二区三区日韩在线| 久久久国产视频| 欧美性生活大片免费观看网址| 亚洲国产精品美女| 日韩av不卡电影| 51精品国产黑色丝袜高跟鞋| 在线观看欧美视频| 久久影院模特热| 亚洲成人免费网站| 亚洲综合国产精品| 日韩视频在线免费| 91精品国产亚洲| 九九热这里只有精品6| 91精品久久久久久久久久| 亚洲xxx自由成熟| 97视频在线观看免费高清完整版在线观看| 日韩在线视频观看| 国产精品69精品一区二区三区| 韩国精品久久久999| 亚洲精品99久久久久中文字幕| 欧美日韩美女视频| 日韩成人在线视频| 亚洲乱码国产乱码精品精| 九九久久精品一区| 91精品国产高清自在线看超| 国产精品一区二区三区免费视频| 亚洲欧洲美洲在线综合| 91国偷自产一区二区三区的观看方式| 久久久91精品国产| 久久韩国免费视频| 久久国产精品首页| 国产精品狠色婷| 国内精品久久久久久久久| 亚洲国产精品国自产拍av秋霞| 一夜七次郎国产精品亚洲| 狠狠色狠狠色综合日日五|