Fordítsuk le a kiinduló programunkat! Majd futtassuk előbb a ./prog torony.ppm ki all, majd a ./bin/prog torony.pgm ki all parancsokkal! Mit veszünk észre?
Módosítsuk a MakefileCFLAGS változóját, hogy az profilozáshoz legyen beállítva!
Fordítsuk újra a programunkat, és futtassuk újra a ./prog torony.pgm ki all parancsot! Milyen kimenete keletkezett a futtatásnak?
Futtassuk a grpof ./bin/prog parancsot, és elemezzük az eredményeket! Illetve vizsgáljuk meg a gprof ./bin/prog gmon.out > analysis.txt eredményét is!
Nézzünk meg egy másik lehetőséget is a profilozásra! Állítsuk vissza az eredeti CFLAGS beállítást a Makefile-ban, majd futtassuk a programunkat a valgrind --tool=callgrind ./bin/prog torony.pgm ki all parancssal! Milyen kimenet készült?
Futtassuk a callgrind_annotate --auto=yes callgrind.out.XXXXXXX parancsot! Elemezzük a kapott eredményt!
Javítsuk a programot az eredeti helyen úgy, hogy az eredetivel szemantikailag ekvivalens, de hatékonyabb programot kapunk! Ha van rá idő, akkor a megvalósítást azzal kezdjük, hogy elkészítjük a kérdéses metódus unit tesztjét! A profilozás hatékonyság növelés akkor volt jó, ha tényleg gyorsabb is a teszt, és minden unit teszt megfelelően lefutott!