lilypond-user-fr
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: charge de lilypond


From: John Mandereau
Subject: Re: charge de lilypond
Date: Sat, 24 Feb 2007 11:28:43 +0100

Le mercredi 21 février 2007 à 11:27 +0100, laurent-ducos a écrit :
> 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 ?

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 <address@hidden>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]