• [^] # Re: Perf

    Posté par . En réponse à la dépêche Liquidprompt version 1.7. Évalué à 1.

    Avez vous regardé un peu l'écart de perf entre l'approche de liquiprompt de tout faire en shell et les choix fait par d'autres projets similaires de lancer un script python ou autre pour générer le PS1 ?

    Oui, j'ai regardé. Et j'ai été horrifié par les performances de liquidprompt, ce qui m'a initialement amené à contribuer au code pour corriger les trucs les plus évidents, jusqu'à devenir le mainteneur. Le principal problème des projets en shell, c'est que les contributeurs sont très souvent de piètres programmeur shell, et mon boulot est bien souvent de faire le ménage derrière une contribution de fonctionnalité.

    Personnellement, mon environnement de travail perso est un netbook avec 1 Go de RAM que j'utilise dans le RER, donc sur batterie. Donc les perfs, oui, je m'en préoccupe beaucoup. Même si celle de liquidprompt ne me concernent que peu au quotidien (j'ai beau être le mainteneur, je trouve liquidprompt trop verbeux).

    En fait je me préoccupe tant des performances de mon prompt que j'ai commencé en mai 2013 mon propre projet parallèle qui consiste à réaliser un moteur de prompt générique (cross-shell) en Perl 5, sous la forme d'un ange (daemon) résident. Pour en savoir plus : https://github.com/dolmen/angel-PS1 Le cœur du moteur est à peu près prêt. Je suis en train d'écrire les plugins qui permettront d'avoir les fonctionnalités équivalentes de liquidprompt.

    Pour avoir lu le code des deux,

    Quel autre ? PowerLine ?

    Exécuter des programmes durant la composition du prompt provoque des forks et des commutations de contexte. Seul un changement majeur d'architecture logicielle peut réduire cela. C'est mon approche avec The Angel's Prompt.

    l'approche shell est beaucoup plus complexe et bordelique, mais sur des petites config je me demande la différence de confort à l'usage. Sur une machine actuelle lancer du python ne pose aucun soucis. Donc tout se joue sur les vieux trucs pourris.

    Mon but avec The Angel's Prompt est d'allier la performance ET la maintenabilité grâce à un langage de haut niveau très portable.

    Mainteneur de LiquidPrompt - https://github.com/nojhan/liquidprompt