[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Inlining calls to primitives

From: Neil Jerram
Subject: Re: Inlining calls to primitives
Date: Fri, 15 Sep 2006 11:29:54 +0100
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

address@hidden (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 in the following.)

My overall feeling about this, based on weighing the performance gains
against maintainability costs, is that I'd be happy for now to see the
memoization of globals in Guile core, but not the code inlining.  I
also think, however, that it would be great if we can keep all the
details of your research around, so that we can decide to formalize
other parts of it in the future, based on judgments at that time.


- 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 declaration should have lexical scope
  - in other words, the declaration affects the code that it looks
  like it affects.  I think this means that we have to use a source
  property and mark expressions as they are read .... but I leave the
  details of this to you.

  (One probably obvious point: only globals in car position should be
  memoized, of course.)

- To make sure that we don't lose your research, I suggest you create
  a new directory "performance" in the CVS "workbook" module (parallel
  to guile-core), and store your discussion results (per your emails)
  in a suitably-named file there.

Finally, can I ask whether you are doing this work because you are
trying to meet a specific performance target?  If so, what is the
target and how far away from it are you at the moment?


reply via email to

[Prev in Thread] Current Thread [Next in Thread]