home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.lang.scheme
- Path: sparky!uunet!morrow.stanford.edu!CSD-NewsHost.Stanford.EDU!Xenon.Stanford.EDU!mcbride
- From: mcbride@Xenon.Stanford.EDU (Philip McBride)
- Subject: Re: stand-alone executables
- Message-ID: <1992Aug26.003413.9670@CSD-NewsHost.Stanford.EDU>
- Sender: Philip McBride
- Organization: Computer Science Department, Stanford University.
- References: <JIMB.92Aug25053328@occs.cs.oberlin.edu>
- Distribution: comp
- Date: Wed, 26 Aug 1992 00:34:13 GMT
- Lines: 43
-
- An interesting approach to linking, loading, and executables can be
- found in "Integrating the Scheme and C Languages," by Rose and Muller
- in Lisp and Functional Programming, 1992. They use the SunOS dynamic
- linker and loader directly.
-
- The executable file for the hello world program is 24k. Upon startup,
- however, the size increases to 116k (I think they have some type of
- delayed loading of the byte code interpreter). So, they have 92k
- overhead above the minimal binary code from their compiler.
-
- -Philip
-
- In article <JIMB.92Aug25053328@occs.cs.oberlin.edu> jimb@occs.cs.oberlin.edu (Jim Blandy) writes:
- >
- >In my experience, stand-alone executable files generated by scheme
- >compilers tend to be very large. For example, compiling the program
- >
- > (display "Hello, World!")
- > (newline)
- >
- >using the Gambit scheme compiler on an HP9000/375 running BSD produces
- >a 400k executable file. Last I checked, Chez scheme didn't do too
- >well either (although that was a while ago), and I seem to recall
- >Scheme->C producing a 500k executable file for a program which
- >computes and prints the factorial of a number.
- >
- >This seems odd to me. Gambit's interpreter, gsi, is 400k, which
- >suggests to me that Gambit's standalone generation system just throws
- >the whole interpreter in with your code.
- >
- >This is a pretty small sample of scheme systems; is this behavior
- >common? Are there many schemes out there which generate
- >reasonably-sized executables? If not, why does everyone find it so
- >difficult to generate them? Is it so challenging to do the sort of
- >linking C compilers do, and throw away the unnecessary library
- >routines?
- >
- >I'd like to be able to invoke small scheme programs from the shell and
- >not have it take several seconds to load and occupy several megabytes
- >of swap space.
- >--
-
-
-