Czy możliwe jest użycie vtune w niektórych fragmentach kodu w pliku binarnym, a nie w całym pliku binarnym?

Dodaję użycie małej biblioteki do dużego istniejącego oprogramowania i chciałbym przeanalizować (w szczegółach wyszukiwania niż tylko w & rdtsc () lub gettimeofday) obciążenie i przypisanie małej biblioteki. Używając rzeczy takich jak rdtsc (), mogę wyczuć opóźnienie, jakie wywołuje funkcja wywoływania moich bibliotek, ale nie mogę wykonać atrybucji opóźnienia, chyba że jestem w stanie zobaczyć, czy gałęzie nie są dobrze przewidywane, czy buforowanie nie działa prawidłowo itp. Patrzyłem na PAPI, gdy wyobrażałem sobie, że patrzę na pewne zdarzenia sprzętowe wchodzące i wychodzące z procedury w mojej bibliotece w kontekście większego pliku binarnego, ale wydaje mi się, że potrzebowałbym konkretnego modułu jądra, aby PAPI mogło działać dla mnie (Linux 2.6. 18 && Intel Xeon 5570) ... jest Vtune, który jest specjalnie przystosowany do procesorów Intel, ale wygląda na to, że jest profilem całego binarnego dla wydajności, a nie konkretnych fragmentów kodu (3-4 wywołania w mojej bibliotece).

Czy jest jakiś sposób na użycie Vtune dla mojego celu, a może coś, co może dać mi dostęp do takich liczników bez konieczności łatania mojego jądra?

questionAnswers(2)

yourAnswerToTheQuestion