vivace implementiert composer install in Rust neu. Es löst keine Abhängigkeiten auf; ein vorhandenes composer.lock ist Voraussetzung. Der Autor hat Composer zuvor profiliert: Bei warmen Installs geht die Zeit in das Anlegen Zehntausender kleiner Dateien und das Scannen der Classmap, nicht in PHP.
curl -fsSL https://raw.githubusercontent.com/Adelagric/vivace/main/install.sh | sh
# or
cargo binstall vivacevivace entpackt jedes Paket einmal in einen Content-adressierten Store und klont es nach vendor/, unter macOS per APFS-clonefile, unter Linux per Hardlinks. Classmaps werden pro Store-Eintrag gecacht, während Composer bei jedem Lauf neu entpackt und neu scannt.
Das erklärte Ziel ist eine bytegenau identische Ausgabe zu Composer 2.10, einschließlich vendor/bin-Proxys, installed.json, installed.php, autoload_static.php und platform_check.php. Ein differentielles Test-Harness führt composer install und vivace install auf denselben Projekten aus (Laravel, die Symfony-Demo, Sylius, mit 109, 153 und 276 Paketen) und vergleicht die vendor-Bäume. Gemeldet werden null Unterschiede in den Modi normal, -o, -a und --no-dev, unter macOS und Linux, in CI bei jedem Push. Die Klassenerkennung wurde gegen Composers eigenen PhpFileParser auf rund 50.000 realen PHP-Dateien geprüft.
Hyperfine-Mediane gegen Composer 2.10.3 auf einem M4 Max: No-op-Install 54/23/31 ms gegenüber 1049/577/592 ms; warmer Install 196/182/609 ms gegenüber 2,7/2,4/6,0 s; dump-autoload -o 46/60/151 ms gegenüber 1,6/0,9/1,6 s. Auf GitHubs ubuntu-latest-Runnern: 12-16x bei No-op, 5-9x bei warmen Installs, 10-13x bei dump-autoload -o.
Bewusste Grenzen: keine Scripts oder Plugins. vivace führt niemals PHP aus. symfony/runtime wird nativ emuliert, und eine kurze Liste installzeit-unkritischer Plugins wie flex und discovery wird als normale Bibliothek installiert. Es gibt keinen Resolver oder Windows-Support. Enthält ein Lock nicht unterstützte Funktionen wie composer/installers, composer-patches, installer-paths, unbekannte Plugins oder Source-only-Pakete, erkennt vivace das, bevor vendor/ angefasst wird, und übergibt an das echte composer install.
Die Installation erfolgt über ein prüfsummenverifiziertes Skript für Linux x86_64/arm64 und macOS arm64/x86_64 oder per cargo binstall vivace. Quellcode und Benchmark-Methodik liegen auf GitHub unter Adelagric/vivace.




Kommentare
Noch keine Kommentare — schreib den ersten.
Starte die Diskussion
Kein Konto, kein Passwort nötig — gib einfach deine E-Mail-Adresse ein, wir senden dir einen einmaligen Anmelde-Link. Beim ersten Mal bist du damit automatisch angemeldet.
Deine Bewertung wird nach der Anmeldung automatisch übernommen.
Schau in dein Postfach
Wir haben einen Anmelde-Link an … gesendet. Öffne ihn auf diesem Gerät — dieser Tab meldet dich automatisch an.
Nichts angekommen? Wirf einen Blick in den Spam-Ordner — und markiere die Mail dort als „Kein Spam“, dann landet sie künftig direkt im Postfach.