On Monday 26 March 2007 22:37, andrzej zaborowski wrote:
> On 26/03/07, Marc Lörner <[EMAIL PROTECTED]> wrote:
> > On Monday 26 March 2007 00:08, andrzej zaborowski wrote:
> > > On 26/03/07, andrzej zaborowski <[EMAIL PROTECTED]> wrote:
> >
> > <snip>
> >
> > > > > +# warning non-optimized CPU
> > > > > +#include <sys/time.h>
> > > > > +#include <time.h>
> > > > > +
> > > > >  static inline int64_t cpu_get_real_ticks (void)
> > > > >  {
> > > > > -    static int64_t ticks = 0;
> > > > > -    return ticks++;
> > > > > +       struct timeval tv;
> > > > > +       static int64_t i = 0;
> > > > > +       int64_t j;
> > > > > +
> > > > > +       gettimeofday(&tv, NULL);
> > > > > +       do {
> > > > > +          j = (tv.tv_sec * (uint64_t) 1000000) + tv.tv_usec;
> > > > > +       } while (i == j);
> > > > > +       i = j;
> > > > > +       return j;
> > > >
> > > > Isn't this an infinite loop? gettimeofday() was left out of the loop.
> > > >
> > > > How about "return j + (ticks++)" instead of the loop? If I understand
> > > > correctly it may slow things down to below 1Hz.
> > >
> > > (I wanted to say MHz)
> >
> > I dont think so, in the loop "j" is set and the while-condition is
> > "j==i", so unless "(tv.tv_sec * (uint64_t) 1000000) + tv.tv_usec" always
> > computes the same value the do-while block gets only executed once.
>
> Well, it does always compute the same value - inside the loop. Doesn't
> it? And across one microsecond also the same value in all calls to
> cpu_get_real_ticks.
>
> <snip>
>
> Regards

okay, sometimes one doesn't see the wood for the trees.
The over and over computation of the same value doesn't make sense, 
so the call of gettimeofday should be in the loop (i think).
-- 
Freundliche Gruesse,
Marc Lörner

Tel.: +49 (0)9103-715-30046
Fax.: +49 (0)9103-715-271
Internet: http://www.hob.de
E-Mail: [EMAIL PROTECTED]

HOB GmbH & Co. KG
Schwadermühlstraße 3
90556 Cadolzburg

Geschaeftsfuehrer Klaus Brandstaetter - Franz Wiedenmann

AG Fuerth  HRA 5180
Steuer-Nr. 218/163/00107
USt-ID-Nr. DE 132747002

Komplementaerin HOB electronic BeteiligungsGmbH
AG Fuerth HRB 3416


Reply via email to