Skip to content

[BUG] Bundle report compatibility takes a long time to find incompatible gems #149

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
fbuys opened this issue Apr 10, 2025 · 0 comments · Fixed by #150
Closed

[BUG] Bundle report compatibility takes a long time to find incompatible gems #149

fbuys opened this issue Apr 10, 2025 · 0 comments · Fixed by #150
Labels
bug Something isn't working

Comments

@fbuys
Copy link

fbuys commented Apr 10, 2025

Expected Behavior

When I run: be bundle_report compatibility --rails-version=8.0.1
I expect it to return within a reasonable time and not consume a large amount of memory.

Actual Behavior

When I run: be bundle_report compatibility --rails-version=8.0.1
It takes more than 40 seconds to find incompatible gems
Using stack prof I can also see it allocated a very large amount of object.

Image

Possible Fix

Use fetcher instead of new when we use Gem::SpecFetcher

To Reproduce

  1. Find a relatively old project Rails version older than 6
  2. Run bundle_report compatibility --rails-version=8.0.1
  3. Notice how much time it take to respond

Additional Information

I will abide by the code of conduct

@fbuys fbuys added the bug Something isn't working label Apr 10, 2025
@fbuys fbuys changed the title [BUG] [BUG] Bundle report compatibility takes a long time to find incompatible gems Apr 10, 2025
fbuys added a commit to fbuys/next_rails that referenced this issue Apr 10, 2025
Use fetcher instead of new when we use Gem::SpecFetcher

Fixes: fastruby#149
@fbuys fbuys closed this as completed in 4fa3cd3 Apr 15, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant