Re: guile performance - Ackermann function: way slower than emacs, slower still if compiled

2009-08-06 Thread Ken Raeburn
On Aug 5, 2009, at 10:06, Ken Raeburn wrote: (1) In scm_pthread_mutex_lock, we leave and re-enter guile mode so that we don't block the thread while in guile mode. But we could use pthread_mutex_trylock first, and avoid the costs scm_leave_guile seems to incur on the Mac. If we can't acqui

Re: guile performance - Ackermann function: way slower than emacs, slower still if compiled

2009-08-06 Thread Andy Wingo
Hi, On Wed 05 Aug 2009 12:42, Andy Wingo writes: > The simple stack formulation of Ackermann's function is faster of > course: > > (define (A m n) > (if (= m 0) > (+ n 1) > (if (= n 0) > (A (- m 1) 1) > (A (- m 1) (A m (- n 1)) > > (A

entering and leaving guile mode, and GC stack protection (was Re: guile performance - Ackermann function: way slower than emacs, slower still if compiled)

2009-08-06 Thread Ken Raeburn
On Aug 5, 2009, at 10:06, I wrote: (3) My four-year-old comments on scm_enter/leave_guile, recorded in threads.c around line 300, still stand Those functions really ought to go away. At least they're confined to one file, now. Some of it looks a little messy, but I can probably get ri