十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
分析函數(shù)執(zhí)行時長在linux系統(tǒng)上是一項經(jīng)常要面對的任務(wù),有時候可能不得不調(diào)試完整的程序或者應(yīng)用,看看函數(shù)們在某項任務(wù)上花費的時間。有一些方法可以用來查看函數(shù)開始和停止時間,大多數(shù)都可以在Linux系統(tǒng)上執(zhí)行。

一種方法是使用 `time` 命令,可以在你運行Linux命令時容易查看執(zhí)行時間:
$ time find . -name \*.txt
這將會列出花費搜索的時間:
real 0m0.009s
user 0m0.004s
sys 0m0.003s
`time` 對執(zhí)行一次性、大量運行的程序或者多次運行的程序,會打印每次的用時。
另一種是使用 `perf` 工具,這是一種性能分析工具,可以用來查看Linux調(diào)用的性能細(xì)節(jié),可以查看函數(shù)運行的耗時等信息:
perf stat find . -name '*.txt'
這將會打印出不同函數(shù)調(diào)用的時間耗費:
65544.907972 task-clock # 0.999 CPUs utilized
39,855 context-switches # 0.611 K/sec
28 page-faults # 0.000 K/sec
8,341,271,556 cycles # 1.272 GHz
3,337,449,969 stalled-cycles-frontend # 39.98% frontend cycles idle
214,965 branch-misses # 0.26% of all branches
`perf` 工具不僅僅可以用來查看函數(shù)的執(zhí)行時長,還可以用來查看內(nèi)存、系統(tǒng)調(diào)用、緩存等等性能方面的數(shù)據(jù)。
另外,還有一種更新的工具叫做 `ftrace`,它是一種方便探索內(nèi)核當(dāng)中不同函數(shù)執(zhí)行時間的工具,可以用來追蹤諸如系統(tǒng)調(diào)用,中斷處理器,定時器等內(nèi)核函數(shù),以及封裝在內(nèi)核函數(shù)里面的子函數(shù)。
總之,在Linux系統(tǒng)上分析函數(shù)執(zhí)行時長有很多種方法,從 `time` 命令到 `perf` 和 `ftrace` 工具,都可以很容易的獲得函數(shù)的執(zhí)行時長。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。