Re: Results of tests of guile-2.9

2018-11-11 Thread Arne Babenhauserheide

Mikael Djurfeldt  writes:

> That sounds great! Can you say something about how much quicker 2.9.1 is
> compared to 2.2?

You can find that by looking at the benchmarks by ecraven:

https://ecraven.github.io/r7rs-benchmarks/

Comparing 2.9 and 2.2 there, you see a 30% reduction in execution time
(averaged by geometric mean).

In other words: Guile 2.9 is about 50% faster than Guile 2.2.

And looking at details, Guile 2.9 is faster than Guile 2.2 in almost
every test, and it did not experience significant slowdown in any test.


I also did a summary of all the results which shows that Guile is
closing in on MIT-scheme and chicken (but you’ll notice that the
ordering is very different from the one on the site, which shows nicely
that your result depends on what you look at, and how you look — and
you can see that they have very different performance characteristics):


The first number is the geometric mean of the slowdown against the
fastest implementation in each test. The number in parens is the
number of successful tests.

1.9881572085609192 (38 / 38) stalin-unknown
2.1500822915753734 (57 / 57) chez-9.5.1-m64
2.738525957787122 (55 / 55) gambitc-v4.9.0
2.7694443820075634 (55 / 55) gerbil-v0.14-DEV
4.205151966183653 (50 / 50) bigloo-4.3a
5.442681840154815 (57 / 57) larceny-1.3
5.707385688762197 (57 / 57) racket-7.0/r7rs
8.679978781946975 (50 / 50) chicken-4.13.0
9.248983537329178 (51 / 51) mit-9.2.1
10.587408686012083 (55 / 55) guile-2.9.1.3-1f678
10.615583087968362 (41 / 41) bones-unknown
11.524752498102057 (56 / 56) cyclone-0.9.3
14.448014458884698 (57 / 57) petite-9.5.1-m64
15.089971411932236 (56 / 56) guile-2.2.4
18.035143748368437 (45 / 45) ypsilon-unknown
19.005148516339332 (44 / 44) femtolisp-unknown
19.139543005333042 (56 / 56) gauche-0.9.6
27.645742735331833 (57 / 57) sagittarius-0.9.2
31.157381722908422 (36 / 36) rscheme-unknown
34.153836451059746 (39 / 39) scheme48-unknown
36.48670680531284 (41 / 41) picrin-unknown
38.99165232121692 (48 / 48) kawa-3.0
47.53962620985255 (28 / 28) rhizome-unknown
55.1945662817 (11 / 11) s9fes-unknown
64.80503623166697 (35 / 35) SISC-1.16.6
86.0140998934114 (48 / 48) chibi-unknown
109.67746150832924 (35 / 35) chickencsi-4.13.0
180.3672988266313 (17 / 17) foment-0.4

created with

`for i in bigloo-4.3a bones-unknown chez-9.5.1-m64 chibi-unknown chicken-4.13.0 
chickencsi-4.13.0 cyclone-0.9.3 femtolisp-unknown foment-0.4 gambitc-v4.9.0 
gauche-0.9.6 gerbil-v0.14-DEV guile-2.2.4 guile-2.9.1.3-1f678 ironscheme 
kawa-3.0 larceny-1.3 mit-9.2.1 petite-9.5.1-m64 picrin-unknown racket-7.0/r7rs 
rhizome-unknown rscheme-unknown s9fes-unknown sagittarius-0.9.2 
scheme48-unknown SISC-1.16.6 stalin-unknown tinyscheme ypsilon-unknown; do echo 
$(./evaluate-r7rs-benchmark.w /tmp/all.csv $i | tail -n 1) $i; done | sort -g`

using 
https://bitbucket.org/ArneBab/wisp/src/tip/examples/evaluate-r7rs-benchmark.w

Best wishes,
Arne
--
Unpolitisch sein
heißt politisch sein
ohne es zu merken


signature.asc
Description: PGP signature


Re: GTK3 bindings status

2018-11-11 Thread Nala Ginrut
Hi Mike! I'm just here to say, thanks for the work!

Mike Gran  于 2018年11月12日周一 07:52写道:

> Hi-
>
> After a few weeks hacking, I have actually got a library that parses
> GObject-Introspection *.typelib files to create Guile bindings, and I
> have added just enough machinery to get GTK's famous Example 1 to run.
>
> Theirs
>   https://developer.gnome.org/gtk3/stable/gtk-getting-started.html
> Mine
>   https://github.com/spk121/guile-gi/blob/master/test/example-1.scm
>
> The library code is an awful mess, so I wouldn't bother trying to
> build it or use it, yet, but, it was a milestone I though I might
> report.
>
> The cool part of that example is that I'm using a lambda as a GObject
> button "clicked" signal callback, which ended up requiring quite a bit
> of infrastructure and FFI.
>
> So a few weeks ago there was a bit of discussion about the best way to
> accomplish a GTK3 binding for Guile.  I got a lot of great advice,
> but, I decided to choose a low-level approach to it, mostly in C, for
> now, which I believe is necessary to smooth the edges between
> GTK's API and Scheme.  Also, I decided to skip GOOPS for a more direct
> approach, which may or may not be a terrible idea.
>
> Regards,
> Mike
>
>


Re: Results of tests of guile-2.9

2018-11-11 Thread Mikael Djurfeldt
That sounds great! Can you say something about how much quicker 2.9.1 is
compared to 2.2?

Den sön 11 nov. 2018 21:53 skrev Stefan Israelsson Tampe <
stefan.ita...@gmail.com>:

> Hi,
>
> I've taken 2.9 on a ride with my active code bases, guile-log,
> guile-syntax-parse and python-on -guile.
>
> Generelly it's a pleasure as always to work with guile. I can compile all
> code and especially the
> clpfd code in the prolog part works out nicely (A huge file that takes now
> 6minutes to compile
> a 10MB go file).
>
> What's was surprising was that guile-syntax-parse code is much much
> quicker than before. Especially the compilation of the racket match.scm
> file has improved quite a lot. Prolog code
> compiles more quick as well which is very much appriciated.
>
> A few hickups.
>
> 1. compiling with O0 fails for me because guile does not translate all
> letrec forms down to lover level forms.
>
> 2. If you put a lambda as a syntax value and try to execute that code you
> get an unhelpful message down in the compiler tower, (types.scm).
>
> Else super work and thanks!
>


Results of tests of guile-2.9

2018-11-11 Thread Stefan Israelsson Tampe
Hi,

I've taken 2.9 on a ride with my active code bases, guile-log,
guile-syntax-parse and python-on -guile.

Generelly it's a pleasure as always to work with guile. I can compile all
code and especially the
clpfd code in the prolog part works out nicely (A huge file that takes now
6minutes to compile
a 10MB go file).

What's was surprising was that guile-syntax-parse code is much much quicker
than before. Especially the compilation of the racket match.scm file has
improved quite a lot. Prolog code
compiles more quick as well which is very much appriciated.

A few hickups.

1. compiling with O0 fails for me because guile does not translate all
letrec forms down to lover level forms.

2. If you put a lambda as a syntax value and try to execute that code you
get an unhelpful message down in the compiler tower, (types.scm).

Else super work and thanks!