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