[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: data-crunching in guile
From: |
Ludovic Courtès |
Subject: |
Re: data-crunching in guile |
Date: |
Thu, 25 Jun 2009 10:04:42 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.91 (gnu/linux) |
Hi,
Andy Wingo <address@hidden> writes:
> What I'm getting at is that I think we should have VM ops for working on
> vectors -- both generic vectors, and specific ops for bytevectors, and
> probably an op for string-ref as well, and possibly string-set!. Then a
> native code backend could be effectively implemented to operate on the
> GLIL or assembly level, relying on the Tree-IL compiler's previous
> resolution of high-level operations (i.e., vector-set!) to low-level
> instructions. I think we have the space in the VM, and if we group all
> of the vector instructions at the end, we shouldn't affect the
> instruction cache too much.
Why not, but...
It looks to me like a failure to optimize the general case, which we
work around by specializing the instruction set.
Maybe we could have a more generic approach to the problem. For
instance, there could be a way to annotate primitive procedures with
information useful to the compiler, such as "returns-single-value",
"return-value-unspecified", etc., which would allow the generated code
to take shortcuts. But maybe this is just unrealistic. What do you
think?
Thanks,
Ludo'.
Re: data-crunching in guile, Andy Wingo, 2009/06/26