vivace réimplémente composer install en Rust. Il ne résout pas les dépendances ; un composer.lock existant est requis. L'auteur a d'abord profilé Composer : lors d'une installation à chaud, le temps est consommé par la création de dizaines de milliers de petits fichiers et par l'analyse de la classmap, pas par PHP.
curl -fsSL https://raw.githubusercontent.com/Adelagric/vivace/main/install.sh | sh
# or
cargo binstall vivacevivace extrait chaque paquet une seule fois dans un stockage adressé par contenu et le clone dans vendor/, via clonefile APFS sur macOS et des liens durs sous Linux. Les classmaps sont mises en cache par entrée du stockage, là où Composer ré-extrait et re-scanne à chaque exécution.
L'objectif affiché est une sortie identique à l'octet près à celle de Composer 2.10, y compris les proxys vendor/bin, installed.json, installed.php, autoload_static.php et platform_check.php. Un harnais de test différentiel exécute composer install et vivace install sur les mêmes projets (Laravel, la démo Symfony, Sylius, avec 109, 153 et 276 paquets) et compare les arbres vendor. Résultat annoncé : zéro différence en modes normal, -o, -a et --no-dev, sous macOS et Linux, en CI à chaque push. La détection de classes a été validée contre le PhpFileParser de Composer sur environ 50 000 fichiers PHP réels.
Médianes hyperfine contre Composer 2.10.3 sur un M4 Max : installation sans-opération 54/23/31 ms contre 1049/577/592 ms ; installation à chaud 196/182/609 ms contre 2,7/2,4/6,0 s ; dump-autoload -o 46/60/151 ms contre 1,6/0,9/1,6 s. Sur les runners ubuntu-latest de GitHub : 12-16x en sans-opération, 5-9x à chaud, 10-13x pour dump-autoload -o.
Limites assumées : pas de scripts ni de plugins. vivace n'exécute jamais PHP. symfony/runtime est émulé nativement, et une courte liste de plugins inoffensifs à l'installation comme flex et discovery sont installés comme de simples bibliothèques. Pas de résolveur ni de support Windows. Si un lock contient des fonctionnalités non gérées comme composer/installers, composer-patches, installer-paths, des plugins inconnus ou des paquets source-only, vivace le détecte avant de toucher vendor/ et délègue au vrai composer install.
L'installation passe par un script vérifié par somme de contrôle pour Linux x86_64/arm64 et macOS arm64/x86_64, ou par cargo binstall vivace. Le code source et la méthodologie des benchmarks sont sur GitHub sous Adelagric/vivace.




Commentaires
Pas encore de commentaire — écris le premier.
Lance la discussion
Pas de compte ni de mot de passe — saisis simplement ton adresse e-mail et nous t’envoyons un lien de connexion à usage unique. Première visite ? Tout se met en place automatiquement.
Ton évaluation sera appliquée automatiquement après ta connexion.
Vérifie ta boîte mail
Nous avons envoyé un lien de connexion à …. Ouvre-le sur cet appareil — cet onglet te connectera automatiquement.
Rien reçu ? Vérifiez le dossier spam — et marquez le message « Non spam » pour qu'il arrive directement la prochaine fois.