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.

terminal
curl -fsSL https://raw.githubusercontent.com/Adelagric/vivace/main/install.sh | sh
# or
cargo binstall vivace

vivace 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.