[ Alexandar_d @ 15.02.2006. 13:54 ] @
Pozdrav,
Interesuje me kako mogu mjeriti procesorsko vrijeme izvrsenja
nekog programa u C-u? Recimo, imam dva programa koji rade
jednu te istu stvar al sa dva drugacija algoritma i sad da bi
ustanovio koji je fleksibilniji i bolji algoritam, potrebno je da
izmjerim vrijeme izvrsenja programa? Kako to da uradim, je li ima
neka funkcija u C-u koja to radi pa mi na kraju programa ispise
za koliko je vremena program uradjen i kako mogu vidjeti koliko je memorije program utrosio i tako to? Kako to da uradim?
Puno hvala!
[ kurt.hectic @ 15.02.2006. 14:52 ] @
Za ovakve stvari je pametnije koristiti namenske programe.
Koji tacno program treba da koristis u tvom slucaju zavisi od kompajlera kog koristis.
Ali uopsteno, program koji pravi statistike nekog programa zove se profiler.

Da dam jedan konkretan primer. Ako koristis GCC, taj se program zove gprof. Pogledaj uputstvo za gprof i stvari ce ti biti jasnije.

Ako koristis kompajler nekog drugog proizvodjaca, moraces da saznas kako se program zove.
[ Alexandar_d @ 15.02.2006. 16:48 ] @
Koristim Dev C/C++. Ali zanima me na osnovu cega izracunava konacno vrijeme izvrsenja programa jel na nivou procesora ili... ? Takodjer mi treba i da pokaze koliko je momrije ustrosio za deklarisanje varijblih i svega ostalog?
Hvala.
[ kurt.hectic @ 15.02.2006. 17:37 ] @
Citaj uputstvo i sve ce ti se samo kasti. Kao dodatak pogledaj http://www.valgrind.org
[ Alexandar_d @ 15.02.2006. 18:46 ] @
Ovo mi ne odgovara jer je na Linuxu. Interesuje me kako mogu iz Dev C++-a?
[ D3adly @ 15.02.2006. 20:08 ] @
Code:

#include <stdio.h>
#include <time.h>


int main(void){

  printf ("Vrijeme izvrsavanja: %.3lf\n", (double)clock()/CLOCKS_PER_SEC);

return 0;
    }
[ NrmMyth @ 15.02.2006. 22:02 ] @
Trazi GlowCode za Win app.
[ voxi @ 17.02.2006. 21:43 ] @
# include<sys/timeb.h>

main()
{
int milsec,sec;

struct timeb startt,endt;
float vreme;

ftime(&startt);//vreme od kog momenta pocinjes da meris izvrsavanje algoritma
//algoritam





ftime(&endt); //kraj vremena izvrsavanja algoritma

milsec=endt.millitm-startt.millitm;
sec=endt.time-startt.time;
if (milsec<0) { sec--;
milsec+=1000;
}
vreme=sec+milsec/1000.0;
printf("\n\nVREME=%8.3fs\n\n",vreme);
}
[ murga @ 28.03.2008. 14:31 ] @
Može li pomoć, u Dev-C++ ovo ne funkcioniše, hvala.