vivace reimplements composer install in Rust. It does not resolve dependencies; an existing composer.lock is required. The author profiled Composer first and found that warm installs spend their time creating tens of thousands of small files and scanning the classmap, not executing PHP.
curl -fsSL https://raw.githubusercontent.com/Adelagric/vivace/main/install.sh | sh
# or
cargo binstall vivacevivace extracts each package once into a content-addressed store and clones it into vendor/, using APFS clonefile on macOS and hardlinks on Linux. Class maps are cached per store entry, while Composer re-extracts and rescans on every run.
The stated goal is byte-for-byte identical output to Composer 2.10, including vendor/bin proxies, installed.json, installed.php, autoload_static.php and platform_check.php. A differential test harness runs composer install and vivace install on the same projects (Laravel, the Symfony demo, Sylius, with 109, 153 and 276 packages) and diffs the vendor trees. It reports zero differences across normal, -o, -a and --no-dev modes, on macOS and Linux, in CI on every push. Class detection was validated against Composer's own PhpFileParser on roughly 50,000 real PHP files.
Hyperfine medians against Composer 2.10.3 on an M4 Max: no-op install 54/23/31 ms versus 1049/577/592 ms; warm install 196/182/609 ms versus 2.7/2.4/6.0 s; dump-autoload -o 46/60/151 ms versus 1.6/0.9/1.6 s. On GitHub's ubuntu-latest runners: 12-16x for no-op, 5-9x warm installs, 10-13x for dump-autoload -o.
Deliberate limits: no scripts or plugins. vivace never executes PHP. symfony/runtime is emulated natively, and a short list of install-time-harmless plugins like flex and discovery are installed as plain libraries. There is no dependency resolver or Windows support. When a lock contains unsupported features such as composer/installers, composer-patches, installer-paths, unknown plugins or source-only packages, vivace detects this before touching vendor/ and hands over to the real composer install.
Install via a checksum-verified install script for Linux x86_64/arm64 and macOS arm64/x86_64, or with cargo binstall vivace. Source and benchmark methodology are on GitHub under Adelagric/vivace.




Comments
No comments yet — be the first.
Open the discussion
No account or password needed — just enter your e-mail and we’ll send you a one-time sign-in link. First time here? You’re set up automatically.
Your rating will be applied automatically after you sign in.
Check your inbox
We’ve sent a sign-in link to …. Open it on this device — this tab will sign you in automatically.
Nothing arrived? Check your spam folder — and mark the mail as "Not spam" so it lands in your inbox next time.