[gambit-list] compiling Gambit 4.6.3 under MinGW/MSys

Marc Feeley feeley at iro.umontreal.ca
Wed Feb 1 15:16:30 EST 2012


On 2012-02-01, at 2:24 PM, REPLeffect wrote:

> So far so good.  I updated to the latest git commit, rebuilt and ran
> "make check".  Everything looks good.
> 
> The only question I have is about this test result:
> 
>  ------------ TEST 4 (interpreter running an application)
> rm -f mix.o
> ../gsi/gsi -:~~bin=../bin,~~lib=../lib,~~include=../include -f mix.scm
>> test4.out
> 4.015625 secs elapsed cpu time
> heartbeat frequency = 64.49805447470817 Hz
> *** possible problem: expected heartbeat frequency = 1000. Hz
> diff test4.ok test4.out && rm -f test4.out
> 
> It isn't related to the changes in question, of course.  But I have
> seen this before and wondered if it was a problem.

I have seen this also.  On Windows, the heartbeat interrupt is implemented with an OS thread which is programmed to wake up every millisecond, so the heartbeat frequency should be 1000 Hz.  However, the Windows thread scheduler is probably using a lower frequency timer interrupt (probably 60 Hz) to multiplex the OS threads, so it only manages to wake up the heartbeat thread 60 times per second.

If you know how to get this information (granularity of timer interrupts) on Windows, please let me know and I will change the expected heartbeat frequency.

Otherwise, this warning is pretty innocuous, as long as the heartbeat frequency is non zero (a heartbeat frequency of 0 would indicate that there is no preemptive multiplexing of the Scheme threads).

Marc




More information about the Gambit-list mailing list