Re: [Chicken-users] spock tests

2012-09-08 Thread Felix
> 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?


cheers,
felix

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] spock tests

2012-09-08 Thread Marc Feeley

On 2012-09-08, at 8:28 AM, Felix  
wrote:

> Hey, folks!
> 
> Many, many thanks for testing so pervasively. This is indeed good
> news, as it shows that the stuff generally works. As you all reported,
> some test-cases fail, but this is known and caused by minor bugs or
> R5RS incompatibilities that result from the way Scheme is mapped onto
> JS semantics in this translator. Now that we know that Spock is
> basically working, I can continue improving it. The performance is not
> that great but sufficient (and in fact doesn't look too bad when
> compared with Scheme2JS or Gambit's forthcoming JS backend, in
> particular when continuations are used heavily). Also, Spock is more
> geared towards dynamic code generation than for doing ahead-of-time
> compilation of heavyweight programs.
> 
> Thanks again for your assistance!
> 
> 
> cheers,
> felix

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.

The paper will be available on the Scheme workshop web page.

Marc


 Execution times using V8 (Chrome 21.0.1180.89):

Gambit-JSScheme2JS Spock
 fib35   .801.541.9x2.40   3.0x
 nqueens12   .72 .761.1x2.33   3.3x
 oddeven .831.922.3x5.62   6.8x
 ctak.18   17.64   95.9x .59   3.2x
 contfib30  1.17  106.01   90.9x3.38   2.9x
 btsearch2000   1.35   25.40   18.8x7.93   5.9x
 threads10  1.34   24.68   18.5x4.40   3.3x


 Execution times using JagerMonkey (Firefox 15.0.1):

Gambit-JSScheme2JS Spock
 fib35  1.077.667.2x   20.73  19.4x
 nqueens12  1.492.621.8x   12.97   8.7x
 oddeven1.091.931.8x   33.91  31.1x
 ctak   1.25   30.38   24.3x1.86   1.5x
 contfib30  5.88  156.79   26.7x   10.61   1.8x
 btsearch2000  11.19   27.162.4x   16.54   1.5x
 threads10  6.97   34.364.9x   22.11   3.2x


 Execution times using Nitro (Safari 6.0):

Gambit-JSScheme2JS Spock
 fib35  1.326.534.9x   84.69  64.2x
 nqueens12  1.311.891.4x   45.15  34.4x
 oddeven2.521.55 .6x  143.97  57.1x
 ctak.30   52.88  177.4x4.18  14.0x
 contfib30  1.60 2311.69 1443.0x   25.98  16.2x
 btsearch2000   3.46  102.98   29.7x   92.02  26.6x
 threads10  3.03   74.21   24.5x   74.88  24.7x

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] spock tests

2012-09-08 Thread Andy Bennett
On 08/09/12 14:49, Andy Bennett wrote:
> Hi,
> 
> I have Iceweasel (Firefox) 10.0.7 from Debian Wheezy (Testing).
> 
> 
>>   http://www.call-with-current-continuation.org/spock/test.html
> 
> (eq? car car) FAIL
> 
> (not (eq? (quote bitBlt) (string->symbol "bitBlt"))) FAIL
> 
> (not (string->number "1e3" 16)) FAIL
> 
> tests succeded: 204
> tests failed: 3
> total number of tests: 207

I too have suffered some inattention to details:

(string->symbol #t) ==> #t
BUT EXPECTED #f

(# 34 5 7 38 6) ==> NaN
BUT EXPECTED 38

Map is call/cc safe, but probably not tail recursive or inefficient.

(every-of #t)
=> #f ; *** wrong ***, desired result:
=> #t

correct examples : 156
wrong examples : 1






Regards,
@ndy

-- 
andy...@ashurst.eu.org
http://www.ashurst.eu.org/
0x7EBA75FF


___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] spock tests

2012-09-08 Thread Andy Bennett
Hi,

I have Iceweasel (Firefox) 10.0.7 from Debian Wheezy (Testing).


>   http://www.call-with-current-continuation.org/spock/test.html

(eq? car car) FAIL

(not (eq? (quote bitBlt) (string->symbol "bitBlt"))) FAIL

(not (string->number "1e3" 16)) FAIL

tests succeded: 204
tests failed: 3
total number of tests: 207


>   http://www.call-with-current-continuation.org/spock/threads.html

It repeatedly prints 9 swirls on a pink background.
Some of the swirls go in different directions.



> The former takes quite a while to run, the latter needs canvas
> support.  I tested with Conkeror 0.9.1 and Firefox 3.6.3, which seem
> to run both tests OK. I would be very interested to see whether these
> work or fail for you, and on which browsers (IE in particular).

Good work!
Thread support is certainly cool.




Regards,
@ndy

-- 
andy...@ashurst.eu.org
http://www.ashurst.eu.org/
0x7EBA75FF


___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users


Re: [Chicken-users] spock tests

2012-09-08 Thread Felix
Hey, folks!

Many, many thanks for testing so pervasively. This is indeed good
news, as it shows that the stuff generally works. As you all reported,
some test-cases fail, but this is known and caused by minor bugs or
R5RS incompatibilities that result from the way Scheme is mapped onto
JS semantics in this translator. Now that we know that Spock is
basically working, I can continue improving it. The performance is not
that great but sufficient (and in fact doesn't look too bad when
compared with Scheme2JS or Gambit's forthcoming JS backend, in
particular when continuations are used heavily). Also, Spock is more
geared towards dynamic code generation than for doing ahead-of-time
compilation of heavyweight programs.

Thanks again for your assistance!


cheers,
felix

___
Chicken-users mailing list
Chicken-users@nongnu.org
https://lists.nongnu.org/mailman/listinfo/chicken-users