簡體   English   中英

性能可以顯示原始樣品計數嗎?

[英]Can perf display raw sample counts?

我希望perf輸出原始樣本計數而不是百分比。 這對於確定我是否加快了我要優化的功能很有用。

明確地說,我想做類似的事情

perf record ./a.out
perf report

並查看perf在a.out中對每個函數進行了多少次采樣。

Shark可以在Mac上做到這一點,就像Xperf一樣 在具有perf的Linux上這可能嗎?

性能報告(版本2.6.35.7)現在支持-n標志,該標志可以實現我想要的功能。

您想看看您對函數的更改是否有所作為。 我想您還希望獲得任何幫助,以找出需要更改的功能。 這兩個目標並不相同。

許多工具可以為您提供盡可能多的統計信息或計數器,好像擁有更多的統計信息可以幫助實現任何一個目標。

您能否握住RotateRight / Zoom或任何可以在牆上時鍾時間(最好在用戶控制下)堆疊樣本的工具? 這樣的工具將為您提供在任何例程或代碼行上花費的時間和百分比,尤其是包含時間。

包含時間如此重要的原因在於,執行的每一行代碼都需要一定的時間比例,因此,如果該行不存在,則不會花費該時間比例,並且會減少總時間減少一小部分。 在這段時間中,無論是花在一個大塊上還是數千個小塊上,該行代碼都在調用堆棧上,堆棧樣本將在該堆棧上以等於其比例的速率發現它。 這就是堆棧采樣如此有效地查找值得優化的代碼的原因,無論代碼是由葉指令還是在調用樹中進行調用。

就個人而言, 此鏈接提供了我使用該方法的方式和原因,這並不花哨,但比我所見過的任何方法或工具都有效。 這是一個討論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM