clock()

Sekcia: Programovanie 27.08.2009 | 14:25
Avatar vreten Debian-lenny  Používateľ
Dobry den.
V mojom programe pouzivam funkciu clock(). Dala by sa pocas behu programu resetovat navratova hodnota tejto funkcie, aby tato funkcia zacala pocitat zase od nuly ?
    • Re: clock() 27.08.2009 | 14:41
      tatar   Návštevník
      nie, viac man 3 clock
      • Re: clock() 27.08.2009 | 17:00
        Avatar vreten Debian-lenny  Používateľ
        Tam toho vela nieje. Este by ma zaujimalo preco ked v programe pouzijem clock() spolu z nanosleep() alebo usleep() tak zacne clock merat uplne inac, prosto sekunda trva uplne iny cas ako predtym.
        • Re: clock() 27.08.2009 | 17:06
          Avatar borg Fedora  Administrátor
          a nemylis si clock() s niecim inym?
          • Re: clock() 27.08.2009 | 17:30
            Avatar vreten Debian-lenny  Používateľ
            S cim by som si mal mylit clock?
            Vysvetlim ti problem. V programe mam:

            timeout=0;
            cas1 = clock();
            do
            {
            ...
            ...
            if (difftime(cas2,cas1) > contimeout*CLOCKS_PER_SEC )
            {
            timeout=1;
            }
            cas2= clock();
            }
            while(timeout==0);

            podla toho ako nastavim premennu timeout, tak dlho sa to bude oprakovat, lenze to ma taku chybicku ze to velmi zatazuje CPU, takze som pod riadok cas2= clock(); pridal este nanosleep(&req,NULL); aby to nezatazovalo CPU a este som musel zmenit riadok cas2= clock(); na cas2= cas2+clock(); lebo funkcia nanosleep sposobi to, ze clock() zacne merat od nuly. Vsetko by bolo vporiadku, len potom clock uplne zblbne a sekunda trva uplne kratky cas a aj ten sa meni a blbne. povedzme ak som mal timeout 10 sekund tak teraz je to 1 sekunda a aj ta sa meni tak, ze to je raz 1.2 sekudndy a druhy krat 0.3 sekundy a stym si neviem pomoct.
            • Re: clock() 27.08.2009 | 18:27
              tatar   Návštevník
              si pozri aku strukturu vracia clock a aku ocakava difftime...
              • Re: clock() 27.08.2009 | 18:37
                Avatar vreten Debian-lenny  Používateľ
                No to je pekne ze si si to vsimol, ale to je v poriadku, lebo ono to pocita dobre.
    • Re: clock() 28.08.2009 | 01:53
      Avatar vreten Debian-lenny  Používateľ
      Zistil som ze funkciami na meranie cpu time s kombinaciu so sleep() sa to neda, lebo sleep() je nepresny a zaroven resetuje funkciu clock(). Tak som to nakoniec vyriesil kombinaciou funkcii gettimeofday(,); a nanosleep(,); .