Profiliranje koda - SirCrayzyJelly/AI_Tutor GitHub Wiki
Profileri su alati koji omogućuju detaljnu analizu ponašanja softvera tijekom njegovog izvođenja. Oni pomažu u prepoznavanju problematičnih dijelova koda koji mogu uzrokovati smanjenje učinkovitosti programa. U našem projektu koristili smo nekoliko alata za profiliranje, a među njima se posebno ističe cProfile — Pythonov ugrađeni modul koji precizno mjeri vrijeme izvršavanja pojedinih dijelova koda. Ipak, najveći dio testiranja odvijao se klasičnom metodom „pokreni i isprobaj“, kroz praktične provjere rada aplikacije.
Na slici je prikazan primjer pokretanja cProfile iz specifičnog direktorija našeg projekta:
![]() Pokretanje cProfile-a |
Problem: Ručnim testiranjem različitih scenarija utvrdili smo da kviz nije moguće pokrenuti ukoliko backend server nije aktivan. S druge strane, kada je server uključen, AI_Tutor ima poteškoće s pravilnim odgovaranjem na postavljena pitanja. Problematični dio koda, koji uzrokuje ove poteškoće, prikazan je na sljedećoj slici:
![]() Problematični dio koda kviza |
![]() Ispravljena funkcija – rješenje |
Višesatnim istraživanjima i konzultacijama smo došli do rješenja s kojim radi u isto vrijeme i kviz i generiranje odgovora.