新聞中心
分析函數(shù)執(zhí)行時(shí)長(zhǎng)在linux系統(tǒng)上是一項(xiàng)經(jīng)常要面對(duì)的任務(wù),有時(shí)候可能不得不調(diào)試完整的程序或者應(yīng)用,看看函數(shù)們?cè)谀稠?xiàng)任務(wù)上花費(fèi)的時(shí)間。有一些方法可以用來查看函數(shù)開始和停止時(shí)間,大多數(shù)都可以在Linux系統(tǒng)上執(zhí)行。

一種方法是使用 `time` 命令,可以在你運(yùn)行Linux命令時(shí)容易查看執(zhí)行時(shí)間:
$ time find . -name \*.txt
這將會(huì)列出花費(fèi)搜索的時(shí)間:
real 0m0.009s
user 0m0.004s
sys 0m0.003s
`time` 對(duì)執(zhí)行一次性、大量運(yùn)行的程序或者多次運(yùn)行的程序,會(huì)打印每次的用時(shí)。
另一種是使用 `perf` 工具,這是一種性能分析工具,可以用來查看Linux調(diào)用的性能細(xì)節(jié),可以查看函數(shù)運(yùn)行的耗時(shí)等信息:
perf stat find . -name '*.txt'
這將會(huì)打印出不同函數(shù)調(diào)用的時(shí)間耗費(fèi):
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í)行時(shí)長(zhǎng),還可以用來查看內(nèi)存、系統(tǒng)調(diào)用、緩存等等性能方面的數(shù)據(jù)。
另外,還有一種更新的工具叫做 `ftrace`,它是一種方便探索內(nèi)核當(dāng)中不同函數(shù)執(zhí)行時(shí)間的工具,可以用來追蹤諸如系統(tǒng)調(diào)用,中斷處理器,定時(shí)器等內(nèi)核函數(shù),以及封裝在內(nèi)核函數(shù)里面的子函數(shù)。
總之,在Linux系統(tǒng)上分析函數(shù)執(zhí)行時(shí)長(zhǎng)有很多種方法,從 `time` 命令到 `perf` 和 `ftrace` 工具,都可以很容易的獲得函數(shù)的執(zhí)行時(shí)長(zhǎng)。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
分享題目:執(zhí)行時(shí)間Linux下探究查看函數(shù)執(zhí)行時(shí)長(zhǎng)分析(linux如何查看函數(shù))
文章地址:http://www.dlmjj.cn/article/dpgcepp.html


咨詢
建站咨詢
