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: performance



[ Sorry to revive such and old thread, but I'm just browsing my
  backlogs... ]

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

> My experience hitherto is that I've never encountered *any* Scheme
> interpreter which has been faster than Guile's normal evaluator
> except for SCM.  So it is still my belief that Guile is the second
> fastest interpreter in the world.  I'm amazed that people are
> complaining about performance problems.

Hmm.  When you say interpreter, do you mean only strict interpretation
(excluding on the fly byte compilation?).  If not, then RScheme wins.
For what it's worth, I got curious and decided to do some benchmarking
here.  I tried guile, RScheme, and stalin (just for fun).  Here's what
I found.

For RScheme I had to change (force-output) to (flush-output-port
(current-output-port)), and for stalin I had to delete the flush
altogether since it has no similar primitive.  Stalin really does
provide astounding performance, and the executable was only 11k :>

Now all we need is a way to call stalin object code from RScheme and
guile, and I'd be ecstatic.

  Guile 1.3 (debug):                               382
  Guile 1.3 (no-debug)                             565
  RScheme (current beta interpred):               4684
  RScheme (current beta "rsc -ccode" compiled):  12634
  Stalin (full compilation):                    101437

Guile command:
  $ guile -l guile-speed-test.scm

RScheme interpreted command:
  $ fshell rscheme-speed-test.scm
  
RScheme compiled command:
  $ rsc -p -ccode rschemespeedtest.mcf
  $ (cd rschemespeedtest && make librschemespeedtest.so)
  $ RS_MODULE_PATH=/home/rlb/rscheme-speed-test \
    LD_LIBRARY_PATH=/home/rlb/rscheme-speed-test \
    fshell +rschemespeedtest

Stalin command:
  $ stalin -d1 -On stalin-speed-test.sc
  $ stalin-speed-test

-- 
Rob Browning <rlb@cs.utexas.edu> PGP=E80E0D04F521A094 532B97F5D64E3930

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