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