chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Chicken-users] spock tests


From: Marc Feeley
Subject: Re: [Chicken-users] spock tests
Date: Sun, 9 Sep 2012 08:58:36 -0400

On 2012-09-08, at 4:54 PM, Felix <address@hidden> wrote:

>> In my experiments (updated since we last talked to the most current version 
>> of Chrome, Firefox and Safari) I have found that the performance of Spock 
>> (and Scheme2JS) varies a lot between JavaScript VMs.  For example Nitro 
>> (Safari 6.0) runs JS code generated by Spock about 20 to 30 times slower 
>> than V8 (Chrome 21.0.1180.89).  I have attached below the table of results 
>> from my Scheme workshop paper.  The programs ctak, contfib30, btsearch2000 
>> and threads10 use continuations heavily.
> 
> Very good! Thanks or the timing results, this is certainly very
> interesting and I'm happy that Spock performs so well, considering
> that it uses an implementation strategy that brings out the worst
> in JS engines. BTW, did you use the "-optimize" switch?

I did not use the "-optimize" switch for the experiments reported previously.  
The reasons are explained in the Scheme workshop paper (which by the way is now 
available here: http://users-cs.au.dk/danvy/sfp12/programme-sfp12.html).

I just ran the experiment on V8 with Spock, this time using the "-optimize" 
switch.  The results are:

  Execution times using V8 (Chrome 21.0.1180.89):

                 Gambit-JS        Scheme2JS             Spock
  fib35               .80        1.54    1.9x        2.40   3.0x
  nqueens12           .72         .76    1.1x        2.34   3.3x
  oddeven             .83        1.92    2.3x        5.62   6.8x
  ctak                .18       17.64   95.9x         .66   3.6x
  contfib30          1.17      106.01   90.9x        3.60   3.1x
  btsearch2000       1.35       25.40   18.8x        9.28   6.9x
  threads10          1.34       24.68   18.5x        4.71   3.5x

So the -optimize switch has actually slowed down the execution on the last 4 
programs (those which use call/cc).  Can you explain what the -optimize switch 
does?

Note that these experiments were done with a previous release of Spock (the one 
that was current on July 6... I don't know how to get the Spock version number 
from chicken-spock).  I know that you have released Spock 0.9 but I had 
problems installing the new version on my OS X 10.8.1 computer so I can't say 
if there is an improvement in the latest version.

Marc




reply via email to

[Prev in Thread] Current Thread [Next in Thread]