Autor Wątek: AMD CodeAnalyst  (Przeczytany 3785 razy)

therealremi

  • Gość
# Listopad 28, 2009, 12:23:26
Szczerze to troche nie rozumiem jak to dziala, VTune jest chyba bardziej logiczny. Na tym screenie mam WinMain, ktorego dzieci podobno zajmuja 567 czegos (us?), a zaraz pod nim dziecko, ktore zajmuje 761, troche sie to kupy nie trzyma. Pomagaja nieco te okienka na dole, ktore wygladaja na sensowniejsze, ale glowne jakies dziwne.
Bo to profiler samplujacy, nie robiacy instrumentacji binarek. Jakos VTune tez ma ten tryb i nie narzekacie ;). Zalety - program działa z pełną szybkością, nie ma zakłóceń ze strony profilera (lub minimalne, czego nie można powiedzieć o instrumentacji vtune i innych tego typu profilerkach), można badać relacje w stosunku do systemu operacyjnego (np czas spędzony w aplikacji kontra czas w driverku karty). Call-graph w CA jest dodany tylko jako uzupełnienie, niejako na siłę - ale to wciąż profiler samplujący (!). O precycji takiego  "call-grapha" decyduje ilość zebranych próbek, bo może "nie trafić" w fakt wykonania jakiejś funkcji. Przy instrumentacji nie ma takiej możliwości.

Nie ma co filozofować. VTune ma tryby zarówno instrumentacji jak i samplowania, CA ma tylko samplowanie (symulacje pomijam). Dlatego CA jest za darmo, a VT za spore pieniązki :).

Po nauczeniu się czytania wyników + użyciu CAProfPause/CAProfResume staje się całkiem potężnym (jak na darmowe) narzędziem. Do tego pozwala profilować wątki :)

Zwiększyłem też częstotliwość próbkowania (co 5 ms), dlatego na pomiar załapały się funkcje, które wykonują się w ułamku sekundu (np. Graphics::IsDeviceLost).
Hehehe - ja zawsze ustawiam na 1ms albo czasem nawet 0.1 ms ;)

Pozdr.
« Ostatnia zmiana: Listopad 28, 2009, 12:36:33 wysłana przez st3tc »

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Limal

  • Użytkownik
    • http://wolnik.co.uk

# Listopad 28, 2009, 12:35:56
A bo ja płotkami się nie zajmuję. Samplowanie mam u siebie defaultowe co 1 ms (widać to na obrazku, gdzie total dla pde.exe ma 28 tys). Ale już próbki z call stackiem pobierane są odpowiednio z 5. i 10. ms przedziałem.

EDIT: Dałem odwijanie do 32 adresów w górę, i też wszystkie funkcje łapią się pod WinMain. A przynajmniej CodeAnalyst szybciutko mieli te dane.
« Ostatnia zmiana: Listopad 28, 2009, 12:43:58 wysłana przez Limal »

Offline yarpen

  • Użytkownik

# Listopad 28, 2009, 12:38:40
Szczerze to troche nie rozumiem jak to dziala, VTune jest chyba bardziej logiczny. Na tym screenie mam WinMain, ktorego dzieci podobno zajmuja 567 czegos (us?), a zaraz pod nim dziecko, ktore zajmuje 761, troche sie to kupy nie trzyma. Pomagaja nieco te okienka na dole, ktore wygladaja na sensowniejsze, ale glowne jakies dziwne.
Bo to profiler samplujacy, nie robiacy instrumentacji binarek. Jakos VTune tez ma ten tryb i nie narzekacie ;).
Ja VTune wlasciwie tez nie uzywam, bo za bardzo spowalnia mi program w sensownych trybach :). PIX FTW!

therealremi

  • Gość
# Listopad 28, 2009, 12:43:21
Szczerze to troche nie rozumiem jak to dziala, VTune jest chyba bardziej logiczny. Na tym screenie mam WinMain, ktorego dzieci podobno zajmuja 567 czegos (us?), a zaraz pod nim dziecko, ktore zajmuje 761, troche sie to kupy nie trzyma. Pomagaja nieco te okienka na dole, ktore wygladaja na sensowniejsze, ale glowne jakies dziwne.
Bo to profiler samplujacy, nie robiacy instrumentacji binarek. Jakos VTune tez ma ten tryb i nie narzekacie ;).
Ja VTune wlasciwie tez nie uzywam, bo za bardzo spowalnia mi program w sensownych trybach :). PIX FTW!
VTune  jest jeszcze w sumie szybki przy instrumentacji. DevPartner profiler (czy jak to się tam zwało) - to cudo potrafiło nawet 7-9 razy zwolnić aplikację :). Wtedy nie ma mowy o profilowaniu - bo całkowicie zaburzał wyniki - dostawałem kosmos. Na profilerku samplującym dostałem inne wyniki - 100% trafne :)
« Ostatnia zmiana: Listopad 28, 2009, 13:17:25 wysłana przez st3tc »

Offline ConayR

  • Użytkownik

# Listopad 28, 2009, 14:09:01
PIX FTW!
A czy nie jest przypadkiem tak, że PIX na 360 FTW, a na PC konsolowemu koledze do pięt nie dorasta? :)

Offline yarpen

  • Użytkownik

# Listopad 28, 2009, 14:09:59
PIX FTW!
A czy nie jest przypadkiem tak, że PIX na 360 FTW, a na PC konsolowemu koledze do pięt nie dorasta? :)
Calkiem mozliwe, dawno nie uzywalem pecetowego, ale kiedys byl GPU only i tez dosyc biednie.

Offline Esidar

  • Użytkownik

# Listopad 28, 2009, 15:06:35
A czy nie jest przypadkiem tak, że PIX na 360 FTW, a na PC konsolowemu koledze do pięt nie dorasta? :)
W rzeczy samej :) PIX z X360 jest bardzo dobry, w wersji PC jest średni, a GPAD z PS3... na ten program zasunę kurtynę milczenia...

Offline ConayR

  • Użytkownik

# Listopad 28, 2009, 15:07:00
Tak myślałem, że o PIX na 360 mówisz. Czyli jednak PIX nie FTW, bo potrzeba devkitu. ;P
« Ostatnia zmiana: Listopad 28, 2009, 15:12:43 wysłana przez ConayR »

Offline yarpen

  • Użytkownik

# Listopad 28, 2009, 15:37:08
A czy nie jest przypadkiem tak, że PIX na 360 FTW, a na PC konsolowemu koledze do pięt nie dorasta? :)
W rzeczy samej :) PIX z X360 jest bardzo dobry, w wersji PC jest średni, a GPAD z PS3... na ten program zasunę kurtynę milczenia...
GPAD tez jest GPU only, do profilingu CPU jest SN Tuner. Trzeba sie przyzwyczaic, ale ma kilka fajnych feature'ow. Tak samo jak GPAD zreszta (conditional profiling).

therealremi

  • Gość
# Listopad 28, 2009, 23:52:37
Po godzinie pracy z demem IBM Rational Quantify zrobiłem więcej niż przez kilka dni pracy z CodeAnalyst (w zasadzie to na podstawie wyników z CodeAnalyst nic nie zrobiłem). Naprawdę polecam.

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Listopad 30, 2009, 23:36:20
Jak się w AMD CodeAnalyst wchodzi do tego call stack? Włączyłem tą funkcję, a mimo tego w wynikach pokazała się płaska lista funkcji z mojego kodu.

Offline Limal

  • Użytkownik
    • http://wolnik.co.uk

# Listopad 30, 2009, 23:41:19
W linku [1] na poprzedniej stronie masz napisane. Musisz wybrać swój proces, następnie kliknąć na ikonkę "CSS" w pasku narzędzi.