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> -Paul
