[gambit-list] gcc stage timing

Christian christian at pflanze.mine.nu
Mon Oct 16 15:33:35 EDT 2006


At 14:57 Uhr -0400 16.10.2006, Lang Martin wrote:
>1) it's still a bit incomplete. There's no parallel limit -- I'm going
>    to capture out of memory exceptions instead. I don't like the idea
>    of a limit -- I want to go until I run out of juice.

(Note that the "limit" is not actually limiting any calculation 
(assuming that futures do terminate); it's just making other futures 
wait until earlier ones are done. You'll want this when starting 
external tools, otherwise you'll make your machine's responsitivity 
suffer.)

>2) Some of the names are bit fanciful and/or incorrect -- it's a
>    weakness of mine. "Incorrect" is a result of being a new scheme
>    programmer, and new to formal computing terms in general;
>    "fanciful" is exhibited by the name "kermit", because it's
>    reporter, you see, and I was wearing a sesame street t-shirt at
>    coding time.

I'd rename
reporter-total!  -> reporter-total-set!

The name |fn!| in
(define (make-reporting-thread fn! . timeout) ..)
looks funny: fn is normally used for "function", and (pure) functions 
don't have side effects. |proc| might be a better name. But actually 
I'm not sure what it does. (Well I see that it's return value isn't 
used at all.)

>3) I have tested this, and it's performance was entirely satisfactory.
>
>4) the reporting thread exits when it's received as many messages as
>    the count stored in it's specific field. the main loop joins the
>    reporting thread with a timeout, which is my el-cheapo method for
>    dropping pending operations on the floor, since they will errors
>    after some point in time for my purposes.
>
>Criticism welcome.

What does make-lazy do? It can't just be an alternative 
implementation of a make-promise, since those would take a thunk, not 
an 1-ary function.

All in all I don't get what it does.

Christian.



More information about the Gambit-list mailing list