Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 8 odgovora
  • 6.571 pregleda

Najnovija ↓

Mjerenje vremena izvrsenja programa 15.02.2006. u 14:54 · pre 252 meseca #1
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!
Potpis
AleXandar
Re: Mjerenje vremena izvrsenja programa 15.02.2006. u 15:52 · pre 252 meseca #2
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.
Re: Mjerenje vremena izvrsenja programa 15.02.2006. u 17:48 · pre 252 meseca #3
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.
Potpis
AleXandar
Re: Mjerenje vremena izvrsenja programa 15.02.2006. u 21:08 · pre 252 meseca #6
Code:

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


int main(void){

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

return 0;
    }
Potpis
#include <D3adly.h>
Re: Mjerenje vremena izvrsenja programa 17.02.2006. u 22:43 · pre 252 meseca #8
# 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);
}
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme