On Thu, Jul 11, 2013 at 12:10 AM, Ludovic Courtès <l...@gnu.org> wrote:
> Hello, and welcome back! :-) > > Roland Orre <roland.o...@gmail.com> skribis: > > > I now intended to start using guile again. I used guile daily for my R&D > > from 1995 to 2008. The last guile I built for was guile-1.8.5 > > > > However, my old module build does no longer work with guile-1.8.8 > > (the latest stable downloaded from savannah.gnu.org) > > No no no, the latest stable is 2.0.9, and it’s like night & day compared > to 1.8. So while you’re at it, jump directly to 2.0.9. ;-) > I did a few performance tests, and so far 2.0.9 performs much worse than 1.8.8. I do not know why, but one simple first test I did was (define foo (fac 10000)) which for guile-1.8.8 has as average around 60 ms but for guile-2.0.9 has as average around 212 ms (almost no time in gc in average). I also checked by removing libgmp that libgmp was really used. Then I tried to run the benchmark-suite which was also quite tedious, as they are not directly compatible between 1.8.8 2.0.9, but those tests I succeded to run indicated much worse performance, around 10 times slower for 2.0.9. I also checked the results 35660 digits, and they were identical. I suspect something strange to be hidden there, which I'll check with some standard benchmark tests. I found a set at http://www.cs.cmu.edu/afs/cs/project/ai-repository/ai/lang/scheme/code/benc h/gabriel/gabriel.tgz that I will try with later. However, as guile-1.8.8 goes very very fast to build compared to guile-2.0.9, mostly due to compilation of ice-9 and my programs certainly need quite a lot of adaptation for 2.0.9 I'll start with guile-1.8.8 (there was a lot of work to adapt them from guile-1.7 to guile-1.8 earlier). The fac I used above was defined as: (define (fac n) (define (iter n res) (if (> n 1) (iter (1- n) (* n res)) res)) (iter n 1)) /Roland > > Ludo’. > > >