Can Bundler Be as Fast as Uv?
4 months ago
- #RubyGems
- #Performance
- #Bundler
- Bundler's performance can be improved to match uv's speed by addressing bottlenecks and implementing optimizations.
- Parallel downloads and decoupling gem downloading from installation can significantly speed up Bundler.
- A global cache for gems and hardlinking can reduce redundancy and improve installation times.
- Bundler already uses a PubGrub resolver, but unifying RubyGems and Bundler codebases could resolve discrepancies.
- Ruby's GVL allows for parallel IO-bound tasks, which can be leveraged for faster gem installations.
- Optimizations like compact version representation and zero-copy deserialization can be applied without rewriting in Rust.
- Backwards compatibility is a challenge, but modern assumptions and techniques can be integrated without breaking changes.