17.15. Co wywołuje tę metodę? Graficzny analizator wywołań

Przypuśćmy, że tworzymy profil programu podobnego do tego, który pokazano w „17.12. Profilowanie aplikacji”, i moduł profilowania wskazuje, że źródłem problemu jest metoda Array#each. Oznacza to, że program poświęca więcej czasu na przetwarzanie tablic w pętli niż na wykonywanie innych działań:

 %   cumulative   self              self     total
time   seconds   seconds    calls  ms/call  ms/call  name
12.19     2.74      2.74     4930     0.56     0.77  Array#each

To kieruje nas we właściwą stronę, ale co dalej? W większości programów jest bardzo wiele wywołań metody Array#each. Aby można było zoptymalizować program, trzeba wiedzieć, które wiersze kodu są odpowiedzialne za większość wywołań metody Array#each. Moduł profilowania języka Ruby ...

Get Ruby. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.