On 17-Feb-09, at 5:34 PM, Eli Barzilay wrote:
Marc Feeley feeley@iro.umontreal.ca writes:
[...] (on my computer that's about 3 times slower than /bin/sh, but still twice as fast as Scheme48 (which also has a 3 MB footprint) and about 30 times faster than mzscheme). [...]
If you run mzscheme just like that (eg, mzscheme -e "(exit)") then you're loading stuff that is useful only for an interactive REPL. On my machine, this takes 169ms. But if you run it with
mzscheme -I scheme/base -e '(exit)'
then it goes down by a factor of 10 to 17ms.
On my MacBook Pro, after a few iterations (to get the executables into the disk cache), I get:
% time gsi -f -e '(exit)' < /dev/null
real 0m0.012s user 0m0.005s sys 0m0.006s
% time mzscheme -I scheme/base -e '(exit)' < /dev/null
real 0m0.057s user 0m0.037s sys 0m0.014s
So mzscheme is still a factor of 5 slower to startup and exit, and with Gambit you get all the REPL stuff included, which is really important if you want to be able to debug your code comfortably if something goes wrong (I would expect this to be an important point for most users given that this is an advantage of using Scheme... indeed the default in mzscheme is to include the REPL support).
Anyway my point is simply that even though the Gambit runtime may seem big, it still is lightweight to use.
Marc