guile-devel
[Top][All Lists]
Advanced

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

Fwd: inlining enabled in guile-vm: things get faster


From: Andy Wingo
Subject: Fwd: inlining enabled in guile-vm: things get faster
Date: Mon, 26 May 2008 10:46:52 +0200

Forwarding to the list. I'm temporarily on gmail, on which I'm a newb, sorry :)


---------- Forwarded message ----------
From: Andy Wingo <address@hidden>
Date: Mon, May 26, 2008 at 10:45 AM
Subject: Re: inlining enabled in guile-vm: things get faster
To: Ludovic Courtès <address@hidden>


Hi!

On Mon, May 26, 2008 at 9:55 AM, Ludovic Courtès <address@hidden> wrote:
> Andy Wingo <address@hidden> writes:
>
> > So it turns out that inlining of a number of operations was disabled in
> > guile-vm, from `apply' to `=' and other such things.
>
> That's nice, but it reminds me of that discussion we had when I
> experimented with similar things in the evaluator [0].  I think it's
> important to optimize the general R5RS-compatible case, rather than
> start relying on non-standard behavior for speed.

Oh I think you're right, definitely. But we have two things here: one,
some of these operations are fundamental, like `apply'. Two, the
functions that I inlined are all implemented in C, which is a form of
the hack that you refer to; basically, these inlines make those C
functions compile to code that doesn't have to leave the VM -- as if
they were implemeted in Scheme at the beginning. Also, I would say
that `+' is a valid instruction, wouldn't you?

(Also, this machinery already existed in macros.scm, but it wasn't
being plugged in.)

So I think that we're on the same page :)

Andy




reply via email to

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