On 03/10/2017 11:18 AM, Ludovic Courtès wrote:
Thanks. As Andy wrote in that thread, it would be beneficial if
LilyPond could pre-compile as much as possible of its core Scheme code.
Hi, Yeah, it seems like that would be the next step in addressing the
performance questions. That brings up how to compile for different
targets (from that other thread):
David: Since .go files are target-dependent (if I am not mistaken) and LilyPond
is cross-compiled for a number of architectures with different byte
orders and type sizes, it seems tricky to get this under wraps.
Andy: Yeah. In both 2.0 and 2.2 there are only four "targets" really (32-bit
and 64-bit, big- and little-endian), so it's somewhat manageable.
"guild compile" does support cross-compilation, and I think there are
some projects that do so; but yep, wiring that up can be tricky like you
say.
So maybe sorting out and/or documenting the "best practices" for
addressing this trickiness would be a mutually beneficial thing for both
LilyPond and Guile? (For anyone looking for ways to help.) Anyone know
of projects that are examples of how to manage this kind of
cross-compilation?
(I'm an occasional LilyPond contributor who learned Scheme from hacking
with/on LilyPond, and I'd love to see LilyPond working well with
Guile2. Ultimately, it seems like that would be in the best interests
of both projects, especially in the long run.)
Cheers,
-Paul