17.12. Profilowanie aplikacji
Problem
Chcemy znaleźć najwolniej działające części aplikacji i przyspieszyć je.
Rozwiązanie
Można włączyć moduł profilowania aplikacji Ruby za pomocą instrukcji include 'profile'
. Od tego momentu system profilowania rozpocznie śledzenie i pomiar czasu dla kolejnych wywołań metod. Kiedy aplikacja zakończy działanie, moduł profilowania wyświetla raport na standardowym strumieniu informacji o błędach.
Oto program, w którym występują problemy z wydajnością:
#!/usr/bin/env ruby # sequence_counter.rb require 'profile' total = 0 # Zliczanie sekwencji zawierających litery a, b lub c. ('a'..'zz').each do |seq| ['a', 'b', 'c'].each do |i| if seq.index(i) total += 1 break end end end puts "Razem: #{total}"
Po uruchomieniu ...
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.