Skip to content
This repository has been archived by the owner on Apr 14, 2021. It is now read-only.

Slow application boot with latest bundler 1.10.5 #3803

Closed
bibendi opened this issue Jul 2, 2015 · 26 comments
Closed

Slow application boot with latest bundler 1.10.5 #3803

bibendi opened this issue Jul 2, 2015 · 26 comments
Assignees

Comments

@bibendi
Copy link

bibendi commented Jul 2, 2015

ruby 1.9.3p551 (2014-11-13 revision 48407) [x86_64-linux]

bundler 1.10.5
time bundle show rails
real 0m38.583s

bundler 1.7.6
time bundle show rails
real 0m3.028s

My rails-application boot time increased by about 40 sec.

@indirect
Copy link
Member

indirect commented Jul 2, 2015

Thanks for reporting this! Please create a gist with the output from bundle env and then link to the gist here, so that we can try to fix the problem.

@bibendi
Copy link
Author

bibendi commented Jul 2, 2015

@artofhuman
Copy link

I have the same problem on version 1.10.5

time bundler show rails
bundler show rails  37,08s user 0,25s system 99% cpu 37,334 total

@bibendi
Copy link
Author

bibendi commented Jul 2, 2015

If I interrupt after 10-20 sec of waiting
https://gist.github.com/bibendi/9cca85efc5383ae01559

@indirect
Copy link
Member

indirect commented Jul 2, 2015

@segiddins looks like this is up your alley, interested in checking it out?

@segiddins
Copy link
Member

I can't install that gemfile...

@indirect
Copy link
Member

@bibendi I just spent about 20 minutes trying to comment out gems that I can't install, and still failed. Can you please provide us with an example that we can use to reproduce the problem?

@jonkessler
Copy link

+1. This performance regression makes the current version of bundler basically unusable for us. Looks like there was a serious regression between bundler 1.8.9 and 1.9.0, and then another serious regression between 1.9.10 and 1.10.0. Here's some more data:

$ time bundle 1.8.9 show rails
/Users/jonkessler/.rvm/gems/ruby-2.1.5/gems/rails-4.0.12
bundle 1.8.9 show rails 1.81s user 0.14s system 99% cpu 1.962 total

$ time bundle 1.9.0 show rails
/Users/jonkessler/.rvm/gems/ruby-2.1.5/gems/rails-4.0.12
bundle 1.9.0 show rails 15.01s user 0.26s system 99% cpu 15.293 total

$ time bundle 1.9.10 show rails
/Users/jonkessler/.rvm/gems/ruby-2.1.5/gems/rails-4.0.12
bundle 1.9.10 show rails 16.81s user 0.31s system 99% cpu 17.210 total

$ time bundle 1.10.0 show rails
/Users/jonkessler/.rvm/gems/ruby-2.1.5/gems/rails-4.0.12
bundle 1.10.0 show rails 51.41s user 0.51s system 99% cpu 52.034 total

$ time bundle 1.10.6 show rails
/Users/jonkessler/.rvm/gems/ruby-2.1.5/gems/rails-4.0.12
bundle 1.10.6 show rails 50.87s user 0.56s system 99% cpu 51.621 total

@segiddins
Copy link
Member

@jonkessler please share a Gemfile we can use to profile

@indirect
Copy link
Member

@jonkessler we all agree this is a problem, but we haven't been able to find any Gemfiles that reproduce it. Do you have one?

@jonkessler
Copy link

Yeah, I need to remove private gems first. I'll get back to you guys as soon as I can.

@bibendi
Copy link
Author

bibendi commented Jul 23, 2015

@jonkessler +1
I'm also not have any time to remove our numerous private gems.
I'll try to do it a little later.

@jonkessler
Copy link

@bibendi I sent them a skeleton of our app (with private gems, minus the code) privately. They're looking at it now.

homu added a commit that referenced this issue Jul 27, 2015
@jonkessler
Copy link

On the branch with the fix, this is the result:
$ time bundle show rails
/Users/jonkessler/.rvm/gems/ruby-2.1.5/gems/rails-4.0.12
bundle show rails 2.05s user 0.14s system 99% cpu 2.200 total

Thanks for working on this! 💯

@segiddins
Copy link
Member

So it's now faster than 1.7.6? Yay!

homu added a commit that referenced this issue Jul 31, 2015
homu added a commit that referenced this issue Aug 1, 2015
homu added a commit that referenced this issue Aug 1, 2015
homu added a commit that referenced this issue Aug 2, 2015
@homu homu closed this as completed in #3862 Aug 2, 2015
@jonkessler
Copy link

🎉

@jonkessler
Copy link

I hate to be a squeaky wheel here, but it would be really great if you guys could release a new bundler version with this fix. I see there's a 1.11.pre1 and 1.11.pre2, so I'm hoping the release version is coming soon.

@segiddins
Copy link
Member

This is included in 1.11.pre.
As this was a major change to dependency resolution, we couldn't ship it in a patch release.

@jonkessler
Copy link

Thanks, I just wish it could've gotten into a release in less than 4 months from when the issue was fixed. This issue is huge for us, as I mentioned.

@indirect
Copy link
Member

indirect commented Dec 7, 2015

@jonkessler Complaining about the speed of service you got for free isn't very cool. You're welcome to pitch in and help with releases anytime. You were also able to check out the code, run rake install, and start using it at any time since we merged the patch.

@segiddins
Copy link
Member

@jonkessler I work on bundler in my spare time. Complaining about that lack of a release will make me less motivated to spend time on bundler rather than more. I spent hours making that speed improvement, and it certainly doesn't benefit me at all -- complaining that I'm not releasing fast enough isn't cool.

@jonkessler
Copy link

@indirect @segiddins I appreciate that, and I truly thank you for your work on the project. It would've bothered me less personally if there was somewhere I could see the progress of releases. Is there such a place? I would love to have helped get this out, if I had had any idea of how to do so or where to even look to start.

It has been a significant time since the last minor release, though, more than 6 months now, and I don't think it's too unreasonable for me to note that I wish a release could've gotten out faster. Please don't take my comment the wrong way: I was in no way intending to denigrate the work that any contributor commits to this excellent project. I was simply frustrated by the lack of visibility into what was happening. You guys are great. 💯

@indirect
Copy link
Member

indirect commented Dec 8, 2015

@jonkessler thanks, I appreciate that. The underlying point that we're both making is that you are acting entitled to our (free!) time and work.

There is no release schedule, there is only our free time. There is no "reasonable" amount of time between releases, there is only us choosing to donate our time to improve your life. Because of that, telling us that we owe you anything at all is an unreasonable expectation.

I'm hopeful that Ruby Together will eventually be able to pay for a release manager, but we don't have the budget yet. Until then, the fact that you "only" want status updates for free, or you "just" want releases every six months doesn't change a thing: you're still demanding free work from developers who could sell their work for hundreds of dollars per hour. That's what we're talking about.

@jonkessler
Copy link

@indirect I can assure you that I did not intend to demand anything, nor do I feel like I am owed anything. I was simply frustrated that it was difficult to get visibility into the release process and I wish a release could've gotten out sooner. I understand that I'm not entitled to anything, and I never said that, nor would I say that. I did not intend my statements as an indictment of your work at all. I'm a developer, I contribute to open source, and I understand how difficult it can be when people are demanding things. Trust me when I say I am not one of those people. I would like to do whatever I can to improve bundler for everyone. Please feel free to contact me via email with information on how I could help you guys. I ❤️ Bundler.

@bbuchalter
Copy link

@indirect thanks for your work. I've just signed up to make a contribution to RubyTogether following a watch of https://www.youtube.com/watch?v=4DqzaqeeMgY, reading the changelog and seeing casual mention of a 25x speedup! Thanks for your contributions.

@indirect
Copy link
Member

@bbuchalter 💖

hsbt pushed a commit to rubygems/bundler-graph that referenced this issue Oct 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

7 participants