I'm wondering, is it possible to do this without adding a primitive, just using the FFI as in your example? You could use hooks for proper cross-platform behavior.
Dan On Tue, Jun 24, 2008 at 1:59 AM, Phil Dawes <[EMAIL PROTECTED]> wrote: > Hi Factor List, > > I've been doing some code profiling that requires a microsecond timer > (measuring the accumulated time spent in words that take less than a > millisecond for each invocation). To handle this on my 32bit linux box I > used the following: > > FUNCTION: int gettimeofday ( void* TP, void* TZP ) ; > > : micros ( -- n ) > 8 <byte-array> dup f gettimeofday drop 2 c-ulong-array> first2 > [ 1000000 * ] dip + ; > > ...which obviously isn't portable. Looking at the source in os_unix.c > and os_windows*.c it looks like the timers on all the platforms are of > microsecond precision so I was wondering whether there was any objection > to me putting a 'micros' primitive in the vm? > > (Actually I'm guessing that probably I don't know what I'm talking about > and that there's a good reason why only 'millis' exists in factor) > > Cheers, > > Phil > > > > ------------------------------------------------------------------------- > Check out the new SourceForge.net Marketplace. > It's the best place to buy or sell services for > just about anything Open Source. > http://sourceforge.net/services/buy/index.php > _______________________________________________ > Factor-talk mailing list > [email protected] > https://lists.sourceforge.net/lists/listinfo/factor-talk > ------------------------------------------------------------------------- Check out the new SourceForge.net Marketplace. It's the best place to buy or sell services for just about anything Open Source. http://sourceforge.net/services/buy/index.php _______________________________________________ Factor-talk mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/factor-talk
