我正在將一個小型庫的使用添加到大型現有軟件中,並且希望分析(在查找程序中的詳細情況,而不僅僅是在rdtsc()或gettimeofday調用)中的開銷和小型庫的歸屬。使用諸如rdtsc()之類的東西我可以感覺到調用我的庫函數的延遲,但是我不能做延遲歸因,除非我也能夠看到分支是否被預測得不好,緩存不能正常工作等等。我研究PAPI是因爲我想象在更大的二進制文件的上下文中查看某個硬件事件進入和退出例程,但似乎我需要一個特定的內核模塊來讓PAPI爲我工作(Linux 2.6。 18 & & Intel Xeon 5570)... Vtune專門針對英特爾處理器,但它看起來像是分析整個二進制文件的性能,而不是特定的代碼片段(3-4次調用進入我的庫)。是否可以在某個二進制代碼片段中使用vtune而不是整個二進制文件?
有沒有辦法讓我爲我的目標使用Vtune,或者有可能讓我訪問這些計數器而無需修補我的內核?