[gambit-list] Re: Gambit is great: the manual should advertise better

Bill Richter richter at math.northwestern.edu
Tue Feb 8 00:37:02 EST 2005


   > can someone explain this figure, 112648202368 bytes allocated?
   > Did I really use 112.6 GB?  My machine "only" has 1 gB of memory.

   Probably, yes.  Each of the 3204 garbage collections collected on
   average about 30+ megabytes of data, which it could reuse until the
   next GC, etc.  My guess is that if you doubled the amount of real
   memory to 2GB the number of collections would drop to a few
   hundred.

Thanks, Brad!  I re-ran my job on machine with 1.28 GB, and got almost
the same: 112648201888 bytes allocated, and still 3204 collections.

If you (or someone else) would be willing to try it, I put this short
program in my Curtis algorithm distrib at the top of my web page
<http://www.math.northwestern.edu/~richter/Richter-Curtis-algorithm.tar.gz>
which has some new mathematical improvements, which don't help here,
slightly extending some shortcuts in Tangora's book on Lambda.  I just
did t = 0->65 in 37.9 minutes, beating my old mark of 63.0.

Please answer a question, asked by the hotshot computer Math professor
here John Franks (a Rice pal of Clarence): does gsc/gcc implement a
garbage collector?  I figure it must, looking at this 112.6 GB, which
you say is legit (and I've seen 435 GB too).  But John points out that
writing a garbage collector is serious work, and gcc doesn't have one.

Back to the manual, DrScheme is all about teaching their book HtDP, so
the exercise I did is mandatory: porting the DrScheme functions to
Gambit.  Everything I did is described in HtDP, either worked out or
exercises.  So there's no need for Gambit to write the blinding-speed
versions of these.  And moderately serious DrScheme programmer who
wants Gambit speed can & must roll their own.  I wouldn't have
mentioned it except that it's possible the DrScheme version of
quicksort is faster than mine, which I cribbed from HtDP.  It starts
with `(polymorphism)', so I can't read it, and it has vectors...

Of course DrScheme is no competitor of Gambit: it's slow, and as you
posted on cls, there's a lack of interest in numerical methods.  I
learned a lot from HtDP (which has the usual over-hyped title, as in
SICP, EOPL, PLAI...), and it's the best Scheme book I've seen,
although I wish they'd given a better mathematical treatment of some
matters (as I'm sure Felleisen could have done).  DrScheme has a nice
Emacs-like editor, which you can't modify (even to rebind function
keys!) without hacking the source code, in order to maintain classroom
uniformity.  That shows their whole focus is teaching high school and
college Scheme courses, not a fast/real Scheme implementation.

And a debugger question: I'm not much of a C programmer, but I've done
a lot of `gdb emacs', and I'm used to being able to skip over function
calls.  I got some real use out of the Gambit debugger (which is far
better than any Scheme debugger I've ever seen), but I didn't see how
do this.  I tried leap, and step-level-set!.  Also, the last 3 nodes
here don't seem to have anything to do with debugging:


Debugging

* Menu:

* Debugging model::                 Debugging model
* Debugging commands::              Debugging commands
* Procedures related to debugging:: Procedures related to debugging
* Console line-editing::            Console line-editing
* Emacs interface::                 Emacs interface
* IDE::                             IDE

-- 
Best,
Bill 


More information about the Gambit-list mailing list