Paul <p...@paulwmorris.com> skribis: > On 03/09/2017 07:13 AM, Ludovic Courtès wrote: > >> What fraction of the Scheme code being run for this benchmark is >> pre-compiled (as a .go file)? > > I don't think any of LilyPond's Scheme code is pre-compiled at this point... > > Yep, as David Kastrup wrote in the "GNU Guile 2.1.7 released (beta)" thread > on Feb 28, 2017: > > <quote> > Regular read and eval, however, is used a lot during the parsing of > files and startup of LilyPond. But at least under Guile-1.8, the > parsing and preprocessing took up a rather small part of the overall > runtime (in the order of 15% or so), so it is unlikely to be responsible > for the bulk of the slowdown. > > My personal guess is that the largest performance impact at the moment > will be due to an absence of generation and installation of .go files. > 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. > > The next largest performance impact will be redecoding issues. > </quote>
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. Ludo’.