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.
curl -fsSL https://raw.githubusercontent.com/Adelagric/vivace/main/install.sh | sh
# or
cargo binstall vivacevivace 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.




Comentarios
Aún no hay comentarios — escribe el primero.
Inicia la conversación
Sin cuenta ni contraseña — introduce tu correo y te enviamos un enlace de acceso de un solo uso. ¿Primera vez? Todo se configura automáticamente.
Tu valoración se aplicará automáticamente al iniciar sesión.
Revisa tu bandeja de entrada
Hemos enviado un enlace de acceso a …. Ábrelo en este dispositivo — esta pestaña te conectará automáticamente.
¿No llega nada? Mira en la carpeta de spam — y marca el correo como «No es spam» para que la próxima vez llegue directo.