I see. That could be annoying, particularly since one mostly wants to interrupt gambit when it is either in a loop or when it is sweating through some big calculation. I suppose checking for polls manually in the FFT is impossible or too ugly to contemplate ?
Ben
On Tue, Mar 29, 2005 at 11:07:05PM -0500, Bradley Lucier wrote:
On Mar 29, 2005, at 10:22 PM, ben@fuhok.net wrote:
What's the downside? I'm all for increased performance of course. Fast code is one of the reasons that I'm interested in Gambit.
One downside is somewhat technical, but users can run into it. Marc can correct my naive interpretation of what's happening.
Gambit manages its own interrupts; first it masks the ^C interrupt, and if you hit ^C while a gambit process is running, then Gambit only stops when it hits a POLL statement in the generated C code. POLL statements are put where the Gambit Virtual Machine (GVM) is in a known state, so the debugger will work, give a correct backtrace, etc.
Any C code for the FFT will not have these POLL statements, so you will not be able to interrupt an FFT that could take several seconds (or minutes, for very large integers) to finish. You can pause it with ^Z and then kill it, but that's about it.
Brad