Re: Inlining calls to primitives

2006-09-15 Thread Ludovic Courtès
Hi Neil, Neil Jerram <[EMAIL PROTECTED]> writes: > - For the memoization of globals, I'd like to see what a patch looks > like that contains only this. We would need some kind of > declaration to say "memoize globals in the following code", and it > feels obvious to me that this declaratio

Re: Inlining calls to primitives

2006-09-15 Thread Neil Jerram
[EMAIL PROTECTED] (Ludovic Courtès) writes: > I made a series of measurements with Guile compiled with `-pg > -O0'. [...] Hi Ludovic, This is a slightly rushed reply, I'm afraid, because I'm going away for a week shortly. (But I have had it in mind for a while, so hopefully there's some sense i

Re: Inlining calls to primitives

2006-09-06 Thread Ludovic Courtès
Hi, Rob Browning <[EMAIL PROTECTED]> writes: > In addition, I have some comments: > > - Just as a general concern, I would personally lean toward only > adopting changes to the interpreter that affect language semantics > (especially if they change things to be non-RnRS) if the changes

Re: Inlining calls to primitives

2006-09-05 Thread Rob Browning
[EMAIL PROTECTED] (Ludovic Courtès) writes: > memoization + jt + inline | 32.4% 22.1% > memoization + switch + inline | 31.9% 23.2% > memoization + jt + funcall| 24.0% 18.3% > Function call overhead, however, _is_ important, though only the > second source of improvement.

Re: Inlining calls to primitives

2006-09-05 Thread Kevin Ryde
[EMAIL PROTECTED] (Ludovic Courtès) writes: > > I made a series of measurements with Guile compiled with `-pg -O0'. -O0 will come out wildly different from an actual build, it stops even the most basic optimizations -- for instance all variables are put in actual stack slots (rather than held in r

Re: Inlining calls to primitives

2006-09-05 Thread Ludovic Courtès
Hi Neil, Neil Jerram <[EMAIL PROTECTED]> writes: > Interesting piece of work. > > It seems to me, though, that there are 3 things going on here. > > 1. Memoization of global variable references that yield one of a >particular subset of common procedures. (I call this part >memoization be

Re: Inlining calls to primitives

2006-09-05 Thread Ludovic Courtès
Hi Neil, Neil Jerram <[EMAIL PROTECTED]> writes: > Interesting piece of work. > > It seems to me, though, that there are 3 things going on here. > > 1. Memoization of global variable references that yield one of a >particular subset of common procedures. (I call this part >memoization be

Re: Inlining calls to primitives

2006-09-04 Thread Neil Jerram
[EMAIL PROTECTED] (Ludovic Courtès) writes: > Hi, > > I conducted an experiment with the evaluator consisting in implementing > "inlining" of calls to a few primitive procedures and I'd like to get > feedback about it. Interesting piece of work. It seems to me, though, that there are 3 things go