2011-08-07 16 views
7

Piszę aplikację C++ tylko STL na Mac (OS X Lion/XCode 4.1). Muszę odpowiedzieć na proste pytanie: które części kodu muszą zostać zoptymalizowane? Gprof wykonuje puste wyjście, XCode's Instruments nie pomaga. Którego narzędzia muszę użyć?C++ Profilowanie na komputerze Mac

+0

Co masz na myśli przez "puste wyjście"? Myślę, że może twoje pytanie powinno brzmieć "Jak mogę sprawić, by gprof działał?" –

+0

Wygląda na to, że http://pastebin.com/EUhfSmLa – sashab

+1

Instruments działa bardzo dobrze. – LaC

Odpowiedz

4

Użyj rekina. Jest to bardzo łatwy w użyciu. Jest bardzo łatwy w użyciu. Więcej tutaj: http://developer.apple.com/tools/sharkoptimize.html

+1

To rozwiązanie jest niestety nieaktualne. Shark został zastąpiony przez Instruments (http://stackoverflow.com/a/8349036/130427). Instrumenty nie wydają się być zdolne do odwoływania się do określonych funkcji, tak jak Shark mógł. –

0

Nawet jeśli działało gprof, it would probably not be much help.

Metoda, na której polegam, dla dowolnego języka i systemu operacyjnego, to random pausing.

Oto jak to działa. Jeśli pobierzesz kilka losowo wybranych próbek stosu, marnotrawne wywołania funkcji lub wejścia/wyjścia pojawiają się proporcjonalnie do ułamka czasu, który tracą. Ma tę zaletę, że problemy są trudne do zlokalizowania, w przeciwieństwie do tego, że polujesz w ramach kosztownych procedur.

Powiązane problemy