On Tue, 28 Feb 2017 11:28:32 +0100 Arne Babenhauserheide <arne_...@web.de> wrote: > Chris Vine <ch...@cvine.freeserve.co.uk> writes: > > > On Mon, 27 Feb 2017 21:00:54 +0100 > > Andy Wingo <wi...@pobox.com> wrote: > >> Hi, > >> > >> On Thu 26 Jan 2017 09:39, Rchar <rc...@protonmail.com> writes: > >> > https://ecraven.github.io/r7rs-benchmarks/benchmark.html > >> > Is Guile slow or fast, comparing to others? > >> > >> Schemes that compile to native code go faster. Guile compiles to > >> bytecode right now, so it's generally (though not always!) slower > >> than the native-compiling schemes. But compared to the > >> bytecode-interpreter schemes it's pretty fast. > > > > On reading this, out of interest I wrote a very simple program > > solving primes, using the basic 'seive odd divisors to square root' > > algorithm. I tested guile-2.0, guile-2.2, chicken and chez scheme > > on it. > > > > guile-2.0 was a little slower than chicken with chicken compiled to > > C, but guile-2.2 on that test took about 75% of the time of > > chicken, and about 50% of the time of guile-2.0. chez scheme was > > fastest of all, taking about 50% of the time of chicken. OK, > > chicken may not be the fastest of "compile to C" schemes. > > Do I read this correctly that Chez took only about 30% less time than > Guile 2.2? > > Could you try stalin, too? (Chez wins 28 comparisons, Stalin 14, so > that would be an obvious target)
I feared that my enumeration might confuse. No, on my Haswell laptop running 64-bit linux, solving the 40,000th prime (479909) is 1.26 times faster in chez scheme than in guile-2.1.7, on the simple algorithm. (0.509 seconds versus 0.624 seconds, on a i7-4712HQ CPU @ 2.30GHz.) This is only the time taken in the body of the calculation. Start-up times and printing times and so forth are ignored. I have just tried out the same code on an older Sandybridge desktop @3.30 GHz running 32-bit linux which I can access remotely, and that had chez scheme 1.7 times faster than guile-2.1.7 so it looks to be somewhat CPU and/or cache and/or pointer-width sensitive. Anyway, it is just one benchmark. I think I am about schemed out so installing Stalin is probably not an option. Like you, I am told it is fast. Guile's selling point IMO is its libraries and its FFI. Guile 2.2 certainly seems adequately fast at run time. Possibly compile times may be an issue, I don't know. Chris