vivace reimplementa composer install en Rust. No resuelve dependencias; se necesita un composer.lock existente. El autor primero perfiló Composer: en una instalación en caliente el tiempo se va en crear decenas de miles de archivos pequeños y en escanear el classmap, no en ejecutar PHP.

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

vivace extrae cada paquete una sola vez en un almacén direccionado por contenido y lo clona en vendor/, usando clonefile de APFS en macOS y enlaces duros en Linux. Los classmaps se cachean por entrada del almacén, mientras que Composer reextrae y reescanea en cada ejecución.

El objetivo declarado es una salida idéntica byte a byte a la de Composer 2.10, incluidos los proxies de vendor/bin, installed.json, installed.php, autoload_static.php y platform_check.php. Un arnés de pruebas diferencial ejecuta composer install y vivace install sobre los mismos proyectos (Laravel, la demo de Symfony, Sylius, con 109, 153 y 276 paquetes) y compara los árboles vendor. Reporta cero diferencias en los modos normal, -o, -a y --no-dev, en macOS y Linux, en CI en cada push. La detección de clases se validó contra el propio PhpFileParser de Composer con unos 50.000 archivos PHP reales.

Medianas de hyperfine frente a Composer 2.10.3 en un M4 Max: instalación sin cambios 54/23/31 ms frente a 1049/577/592 ms; instalación en caliente 196/182/609 ms frente a 2,7/2,4/6,0 s; dump-autoload -o 46/60/151 ms frente a 1,6/0,9/1,6 s. En los runners ubuntu-latest de GitHub: 12-16x sin cambios, 5-9x en caliente, 10-13x en dump-autoload -o.

Límites deliberados: sin scripts ni plugins. vivace nunca ejecuta PHP. symfony/runtime se emula de forma nativa, y una breve lista de plugins inocuos en la instalación como flex y discovery se instalan como bibliotecas normales. No hay resolvedor ni soporte para Windows. Si un lock contiene funciones no soportadas como composer/installers, composer-patches, installer-paths, plugins desconocidos o paquetes solo-fuente, vivace lo detecta antes de tocar vendor/ y cede el control al composer install real.

La instalación se hace con un script verificado por checksum para Linux x86_64/arm64 y macOS arm64/x86_64, o con cargo binstall vivace. El código fuente y la metodología de los benchmarks están en GitHub en Adelagric/vivace.