首頁 > 後端開發 > php教程 > 使用ltrace工具追蹤PHP庫函數呼叫的方法

使用ltrace工具追蹤PHP庫函數呼叫的方法

WBOY
發布: 2016-07-29 08:51:49
原創
1231 人瀏覽過

本文實例講述了使用ltrace工具追蹤PHP庫函數呼叫的方法。分享給大家參考,具體如下:

可能大家已經很熟悉使用strace來追蹤系統調用,今天介紹一個追蹤函式庫函數的利器ltrace

例如我有這麼一段PHP程式碼

test.php:

<&#63;php
 $y = '1380';
 $arr = array();
 for($i = 0; $i < 2000; $i ++){
   $arr[] = "{$i}"; //故意用引号包起来设成字符串
 }
 for($i = 0; $i < 2000; $i ++){
   if(!in_array($y, $arr)) continue;
 }
&#63;>

登入後複製

ltrace -c /usr/local/php/bin/php test.php (-c表示匯總)

會看到輸出如下:

% time   seconds usecs/call   calls   function
------ ----------- ----------- --------- --------------------
95.02  7.417240     368   20146 strtol
2.15  7.160390     413   17316 memcpy
1.63  5.522641     240   22966 free
 0.67  2.275374   2275374     1 curl_global_cleanup
 0.54  2.235466     617   3618 __ctype_tolower_loc
 0.16  2.123547    1194   1778 strrchr
 0.17  1.532224     67   22836 malloc
 0.29  0.382083     67   5678 strlen

登入後複製

幾乎可以看到stringstrtol的95.02%,瓶頸就找出來了。及PHP會在in_array()測試時試圖將字串行數字轉換為long,這會耗費大量時間。所以只要將字串都轉換為整形即可大幅提高效率。

ltrace真心是個好工具

希望本文所述對大家PHP程式設計有所幫助。

以上就介紹了使用ltrace工具追蹤PHP函式庫函數呼叫的方法,包括了trace方面的內容,希望對PHP教程有興趣的朋友有所幫助。

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板