Profiliranje koda - SirCrayzyJelly/AI_Tutor GitHub Wiki

Profiliranje koda

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

Primjer ručnog testiranja i profiliranja koda vezanog za kviz

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.

⚠️ **GitHub.com Fallback** ⚠️