[gambit-list] Compiling syntax-case.scm
Bradley Lucier
lucier at math.purdue.edu
Wed Jan 25 14:16:59 EST 2006
On Jan 24, 2006, at 6:51 PM, Joel Reymont wrote:
> I have Gambit 4b17 and I cannot compile syntax-case.scm with gcc
> 4.0 for some reason. It sits there forever doing something and gcc
> eats up 700Mb+ of memory. I'm on Mac OSX 10.4.4.
On my machine (dual 2GHz G5 with 8GB of RAM running Mac OS X 10.4.4):
[lindv2:~/Desktop] lucier% time gsc -dynamic syntax-case.scm
309.737u 47.772s 7:22.84 80.7% 0+0k 1+59io 0pf+0w
[lindv2:~/Desktop] lucier% wc syntax-case.c
204300 204865 8182241 syntax-case.c
[lindv2:~/Desktop] lucier% ll syntax-case.*
-rw-r--r-- 1 lucier lucier 8182241 Jan 25 12:49 syntax-case.c
-rwxr-xr-x 1 lucier lucier 3596922 Jan 25 12:56 syntax-case.o1*
-rw-r--r-- 1 lucier lucier 6584413 Jan 25 12:47 syntax-case.scm
So, yes, it will take a long time to compile, it's an 8MB C source
file consisting of one C function (and even if --enable-single-host
is not specified, the largest part of syntax-case.c is still one C
function).
If you want to save a bit of time or space during the compile, you
could add -D___OPTIMIZE_SPACE to the command line in gsc-cc-o
wherever you installed gsc and gsi. Or, you could copy gambit.h to
the local directory where you're trying to compile syntax-case.scm
and add the define there:
[lindv2:~/Desktop] lucier% cp /usr/local/Gambit-C/include/gambit.h .
[lindv2:~/Desktop] lucier% vi gambit.h
[lindv2:~/Desktop] lucier% diff -p /usr/local/Gambit-C/include/
gambit.h gambit.h
*** /usr/local/Gambit-C/include/gambit.h Thu Jan 19 15:17:50 2006
--- gambit.h Wed Jan 25 13:03:48 2006
***************
*** 1192,1197 ****
--- 1192,1198 ----
* Determine optimization goal.
*/
+ #define ___OPTIMIZE_SPACE
#ifdef ___OPTIMIZE_TIME
#ifdef ___OPTIMIZE_SPACE
@error "Define either ___OPTIMIZE_TIME or ___OPTIMIZE_SPACE"
[lindv2:~/Desktop] lucier% time gsc -dynamic syntax-case.scm
265.037u 41.735s 6:14.30 81.9% 0+0k 1+49io 0pf+0w
Even then, I noticed that cc1 temporarily required 1.25GB of memory
near the end of the compilation (just by monitoring top as cc1 ran).
Brad
More information about the Gambit-list
mailing list