Я хотел бы измерить L1, L2 и L3 соотношение кэш/промах кэша некоторых частей моего кода на C++. Мне не интересно использовать Perf для всего моего приложения. Может ли Perf использоваться как библиотека внутри C++?Можно ли использовать профилировщик Linux Perf внутри кода C++?
int main() {
...
...
start_profiling()
// The part I'm interested in
...
end_profiling()
...
...
}
Я дал Intel PCM выстрел, но у меня было две проблемы с ним. Во-первых, это gave me some strange numbers. Во-вторых, он не поддерживает профилирование кэша L1.
Если это невозможно с помощью Perf, то какой самый простой способ получить эту информацию?