[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.
Therefore...
- 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?
Regards,
Neil