2011-08-17 9 views
43

Mam setup xdebug i webgrind i wygenerowałem profil, dzięki czemu mogę zacząć poprawiać szybkość wykonywania mojego kodu. Mam profil w webgrind, ale nie mam pojęcia, co to oznacza. Wszystko, co zrobiłem przez Google'a, również nie wyjaśnia tego.Jak odczytać profil xdebug w webgrind?

Może ktoś proszę wyjaśnić podstawy czytania raportu webgrind:

Inwokacja hrabia

bezgraniczne Koszt

Razem Inclusive Koszt

Co oznaczają różne kolory

Co kolorowy pasek oznacza

zwraca

Całkowity koszt połączenia

Hrabia

Odpowiedz

74

Podstawowe wyjściowe wymienia wszystkie różne funkcje, metody i included/required plików.

  • Inwokacja Count: ile razy funkcja została wywołana

  • Całkowity koszt samodzielne: Całkowity czas zajęło wykonanie surowego php w tej funkcji (czas potrzebny na wykonanie inne niestandardowe funkcje są wykluczone.)

  • Całkowity koszt integracji: Łączny czas, w tym wszelkie inne funkcje zwane (wewnętrzne PHP lub funkcje)

  • Co oznaczają różne kolory?

    • Niebieski są PHP funkcje wewnętrzne
    • Zielona są wasze metody klasy
    • Pomarańczowe są funkcjami proceduralne
    • Szary jest czas potrzebny do include lub require plików .php .
  • Co oznacza kolorowy pasek? Wyświetlanie graficzne rozkładu czasu dla każdego typu, jak wyżej.

  • W przypadku ostatnich, zakładam, że kliknąłeś strzałkę, aby otworzyć określoną funkcję?

    • apeluje: Funkcje/metody zwane w wykonaniu tej funkcji

    • Całkowity koszt połączenia: Całkowity czas wykonywania tej funkcji, gdy wywołana z funkcji nadrzędnej

    • Count: Liczba przypadków, w których rodzic dzwoni do dziecka.

+4

Dzięki za wyjaśnienie. Czy koszt własny i inkasowy został już zliczony przez liczbę inwokacji? Czy też trzeba go pomnożyć, aby uzyskać prawdziwe pojęcie o tym, ile czasu zostało zużyte? – David

+0

Bez problemu - Wszystkie czasy są już pomnożone przez dowolną wartość zliczenia. – ChrisA

+3

Kolory te reprezentują rozkład wbudowanych funkcji PHP (niebieski), funkcje włączania/wymagania (lawenda), metody klas (zielony) i funkcje proceduralne (kolor pomarańczowy). – bueltge