mit-scheme-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [MIT-Scheme-devel] floating-point environment


From: Taylor R Campbell
Subject: Re: [MIT-Scheme-devel] floating-point environment
Date: Sat, 9 Oct 2010 19:24:15 +0000
User-agent: IMAIL/1.21; Edwin/3.116; MIT-Scheme/9.0.1

   Date: Fri, 8 Oct 2010 09:15:17 -0700
   From: Joe Marshall <address@hidden>

   >>   Date: Thu, 7 Oct 2010 12:38:59 -0700
   >>   From: address@hidden (Matt Birkholz)
   >>
   >>   Can a Scheme-side cache of the machine configuration avoid much of the
   >>   cost of thread switching by punting fesetenv() when switching to a
   >>   thread with the same expectation of the floating-point environment?

   I'd be surprised if thread-switching were frequent enough that this would 
make
   a difference.

Currently Scheme switches threads every tenth of a second, but I think
that's much too long a delay, actually; Edwin becomes almost unusable
with that delay.  I often set TIMER-INTERVAL to be a millisecond,
which is the finest resolution the microcode supports at the moment,
although I'd also like to add primitives to support nanosecond-
resolution time operations, using the POSIX clock_* routines.

Anyway, I'll try to measure the performance difference once I
implement the changes to CWCC.  From what I recall, actually, a huge
portion -- something like 95% -- of the time spent by CWCC or non-
local continuation invocation is spent copying the interpreter's
history.

   On Thu, Oct 7, 2010 at 8:57 PM, Taylor R Campbell <address@hidden> wrote:
   > What I have in mind is for every
   > continuation invocation -- including those used to switch threads --
   > to do fesetenv.

   I assume you mean every *non-local* continuation.

Oops -- you're right!  That is what I meant.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]