Subject: charge de lilypond

From: laurent-ducos <[email-masked]>
Date: Wed, 21 Feb 2007 11:27:44 +0100

Nous avons remarqué en utilisant lilypond que l'invocation de lilypond
est extrèmement gourmand en ressource processeur. C'est un peu ennuyeux
pour l'utilisation de lilypond en CGI lors de connection multiples.

Y a t'il un moyen d'invoquer lilypond dans un mode plus économe ?
La vitesse d'exécution de lilypond est elle un critère de
développement ?

Merci

---

From: John Mandereau <[email-masked]>
Date: Sat, 24 Feb 2007 11:28:43 +0100

> La vitesse d'exécution de lilypond est elle un critère de

Je ne suis pas un hacker C++, mais suivant le développement de LilyPond
depuis la version 2.4, il me semble que la vitesse d'exécution a
toujours été un compromis entre la qualité et l'automatisation de la
mise en page et un temps d'éxécution raisonnable, avec toutefois une
préférence pour le premier objectif.  Les développeurs ont toujours fait
leur possible pour optimiser le code C++, et on peut dire que vu les
fonctionnalités ajoutées entre 2.6 et 2.10, LiyPond est beaucoup plus
rapide maintenant, et je ne parle même pas de la comparaison avec la
version 1.8 !  Par ailleurs, des fonctionnalités dont le code a une
complexité quadratique sont désactivées par défaut.

Il serait possible d'accélerer LilyPond en permettant la désactivation
des algorithmes coûteux comme les résolutions de collisions et les
calculs de sauts de ligne et de page, au prix d'un résultat digne
d'Encore :-p, mais je ne suis pas sûr que les développeurs veuillent y
consacrer du temps.

Une piste à explorer serait d'éviter de démarrer le programme lilypond à
chaque compilation d'extrait .ly, mais plutôt de démarrer une fois et de
lui envoyer les extraits de musique à compiler par un tube.  LilyPond
est déjà capable de lire sur l'entrée standard, mais il n'effectue
qu'une seule lecture, il faudrait donc bricoler main.cc pour que ça
fonctionne aussi avec un tube.

-- 
John Mandereau <[email-masked]>