<div dir="ltr">Awesome.<div><br></div><div>For reference, is the implementation of Gambit2JS available anywhere?</div><div><br></div><div class="gmail_extra">Best regards,</div><div class="gmail_extra">Mikael<br><br><div class="gmail_quote">

2012/9/9 Marc Feeley <span dir="ltr"><<a href="mailto:feeley@iro.umontreal.ca" target="_blank">feeley@iro.umontreal.ca</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Eric Thivierge is in Copenhagen today, at the Scheme Workshop, presenting our latest paper:<br>
<br>
  "Efficient Compilation of Tail Calls and Continuations to JavaScript"<br>
<br>
You can get the paper on the Scheme Worshop web page: <a href="http://users-cs.au.dk/danvy/sfp12/programme-sfp12.html" target="_blank">http://users-cs.au.dk/danvy/sfp12/programme-sfp12.html</a><br>
<br>
It describes the implementation of tail calls and continuations in Gambit-JS and evaluates its performance.<br>
<br>
Even if you are not specifically interested in the JavaScript back-end the paper may be interesting to read as it provides a brief explanation of the Gambit Virtual Machine (GVM) and compiler front-end, and a complete example of compilation from Scheme, to GVM, to JavaScript.<br>



<br>
The performance evaluation (see attached tables) shows that the approach used by Gambit-JS is consistently faster than Scheme2JS and Spock.<br>
<br>
Marc<br>
<br>
<br>
  Execution times using V8 (Chrome 21.0.1180.89):<br>
<br>
                 Gambit-JS        Scheme2JS             Spock<br>
  fib35               .80        1.54    1.9x        2.40   3.0x<br>
  nqueens12           .72         .76    1.1x        2.33   3.3x<br>
  oddeven             .83        1.92    2.3x        5.62   6.8x<br>
  ctak                .18       17.64   95.9x         .59   3.2x<br>
  contfib30          1.17      106.01   90.9x        3.38   2.9x<br>
  btsearch2000       1.35       25.40   18.8x        7.93   5.9x<br>
  threads10          1.34       24.68   18.5x        4.40   3.3x<br>
<br>
<br>
  Execution times using JagerMonkey (Firefox 15.0.1):<br>
<br>
                 Gambit-JS        Scheme2JS             Spock<br>
  fib35              1.07        7.66    7.2x       20.73  19.4x<br>
  nqueens12          1.49        2.62    1.8x       12.97   8.7x<br>
  oddeven            1.09        1.93    1.8x       33.91  31.1x<br>
  ctak               1.25       30.38   24.3x        1.86   1.5x<br>
  contfib30          5.88      156.79   26.7x       10.61   1.8x<br>
  btsearch2000      11.19       27.16    2.4x       16.54   1.5x<br>
  threads10          6.97       34.36    4.9x       22.11   3.2x<br>
<br>
<br>
  Execution times using Nitro (Safari 6.0):<br>
<br>
                 Gambit-JS        Scheme2JS             Spock<br>
  fib35              1.32        6.53    4.9x       84.69  64.2x<br>
  nqueens12          1.31        1.89    1.4x       45.15  34.4x<br>
  oddeven            2.52        1.55     .6x      143.97  57.1x<br>
  ctak                .30       52.88  177.4x        4.18  14.0x<br>
  contfib30          1.60     2311.69 1443.0x       25.98  16.2x<br>
  btsearch2000       3.46      102.98   29.7x       92.02  26.6x<br>
  threads10          3.03       74.21   24.5x       74.88  24.7x<br>
<br>
_______________________________________________<br>
Gambit-list mailing list<br>
<a href="mailto:Gambit-list@iro.umontreal.ca" target="_blank">Gambit-list@iro.umontreal.ca</a><br>
<a href="https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list" target="_blank">https://webmail.iro.umontreal.ca/mailman/listinfo/gambit-list</a><br>
</blockquote></div><br></div></div>