Am Samstag, dem 26.02.2022 um 14:47 +0100 schrieb Jean Abou Samra: > Le 26/02/2022 à 13:51, Han-Wen Nienhuys a écrit : > > The Scheme compilation felt much slower, and for C++ ccache takes away > > a lot of the pain of recompiles. It also appears to be > > single-threaded? I admit not having timed it in detail. > > OK, I have very good news regarding compilation speed. > Tests are done with > > rm -rf out/share/lilypond/current/guile/ && time out/bin/lilypond > > (I have GUILE_AUTO_COMPILE=1 in my environment.) > > * master and Guile 2 > > real 0m58,877s > user 0m58,773s > sys 0m0,124s > > Execution time on MSDM.ly: > > real 0m18,870s > user 0m18,727s > sys 0m0,470s > > > * Guile 2, with attached patch disabling all optimizations:
He, I always thought auto-compilation didn't optimize! 😕 now don't tell me Guile also applies optimizations while just reading and supposedly interpreting code... > real 0m16,791s > user 0m16,700s > sys 0m0,056s > > Execution time on MSDM.ly: > > real 0m18,702s > user 0m18,517s > sys 0m0,509s [ skipping over the part regarding Guile 3, since I don't think it's relevant here ] > For one thing, Guile's optimization make about zero difference for the > speed of the resulting LilyPond executable. For another, disabling > optimizations in Guile 2 already results in a good speedup (1min > to 20s), [...]. > > [...] > > What do you think? Yes, it looks like we should do this! On the patch, I think it would be better to apply the strategy from module/scripts/compile.scm and just get all available-optimizations from the concatenation of tree-il- default-optimization-options and cps-default-optimization-options instead of hard-coding the list. Jonas
signature.asc
Description: This is a digitally signed message part