This is the mail archive of the guile@cygnus.com mailing list for the Guile project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Is guile byte-code compiled?


Mikael Djurfeldt <mdj@nada.kth.se> writes:

> Michael Vanier <mvanier@bbb.caltech.edu> writes:
> > As you point out, thought BC isn't a panacea, and I'd like to
> > understand more about the tradeoffs.
> 
> Since Guile is supposed to be an application scripting language you
> don't want it to be too large.  If you use BC, you need both a BC
> compiler and a BC interpreter, which increases the size of the
> system.  (Look at Scheme48 or RScheme.  They are really huge compared
> to Guile.)

From the size aspect you are right:
-rw-r--r--   1 root     root      2239776 Jan 25  1998 system.img
-rw-r--r--   1 root     root      1195624 Jan 30 20:16 scheme48.image
-rwxr-xr-x   1 root     root       455676 Apr  4 19:44 libguile.so.4.0.0*

But from the speed aspect.. hmm.. Somewhere in guile's internals
is some slowdown.
Solving the Queens problem using a R5RS-compliant implementation
of amb takes 3 seconds in Scheme48 to run. In guile, it takes 33
seconds. (both times measured on the second run to get "lazy
evaluation" etc)
So, there's alot of speedup to get in the evaluator...
But, to get some good stuff on guile - the number subsystem is
really fast.

On a totally unrelated note:
<0>forcer@forcix[2]:~$ guile -c '(write match:count)'
ERROR: While evaluating arguments to write in expression
	 (write match:count):
ERROR: Unbound variable: match:count
<2>forcer@forcix[2]:~$ guile
guile> (write match:count)
#<procedure match:count (match)>

(yes i know that i have to (use-modules (ice-9 regex)) but
shouldn't guile express the same behaviour wether it's evaluating
a -s file, a -c expression, or simple input?)
	-forcer

-- 
((email . "forcer@mindless.com")       (www . "http://forcix.cx/")
 (irc   . "forcer@#StarWars (IRCnet)") (gpg . "/other/forcer.gpg"))

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]