Marc:
As you guessed, once I downloaded the correct version of gambc40b12.tar.gz, my previously reported problems go away.
I have a question now about the performance of applications built with shared libraries on MacOS X. When I configure gambit with --enable-shared --enable-single-host I get on my 2GHz G5 running MacOS 10.3.6
[descartes:~/programs/gambc40b12/bench] lucier% ./bench gambit fft
Testing fft under Gambit-C Compiling... 0.95 real 0.77 user 0.16 sys -rwxr-xr-x 1 lucier lucier 30512 6 Jan 17:26 fft Running... (time (run-bench name count run ok?)) 3736 ms real time 3000 ms cpu time (2970 user, 30 system) 65 collections accounting for 29 ms real time (30 user, 0 system) 671999504 bytes allocated no minor faults no major faults 3.99 real 3.17 user 0.06 sys
(This is with the version of bench at
http://www.math.purdue.edu/~lucier/bench.tgz
which has some changes to the number of iterations each benchmark is run so that I get at least about 20 clock ticks on my G5. It also changes ##fixnum.logand -> ##fixnum.bitwise-and, etc. You may be interested in integrating the changes into your bench directory.) I'm using gcc-3.4.3 since Apple's gcc-3.3 is just too slow compiling code generated by Gambit. When I configure with just --enable-single-host (so with static libraries), I get
[descartes:~/programs/gambc40b12/bench] lucier% ./bench gambit fft
Testing fft under Gambit-C Compiling... 1.13 real 0.62 user 0.26 sys -rwxr-xr-x 1 lucier lucier 2478500 6 Jan 17:36 fft Running... (time (run-bench name count run ok?)) 1473 ms real time 1140 ms cpu time (1130 user, 10 system) 65 collections accounting for 29 ms real time (30 user, 0 system) 671999504 bytes allocated no minor faults no major faults 1.75 real 1.13 user 0.04 sys
Now that's a big difference. And it's a big difference in code that does very few calls to the Gambit runtime.
Do you know why this is happening? Do you know whether I should, say, statically link the Meroon object system with applications that use it to avoid a performance problem? Or is there some type of prelink step for MacOS X that I can use to reduce this problem?
Brad