Skip to content
This repository has been archived by the owner on Dec 2, 2020. It is now read-only.

bump ruby-build version to fix compiler optimization bug #24

Merged
merged 1 commit into from May 1, 2013
Merged

bump ruby-build version to fix compiler optimization bug #24

merged 1 commit into from May 1, 2013

Conversation

mroth
Copy link
Contributor

@mroth mroth commented May 1, 2013

Addresses huge performance problems with compiled rubies not being properly optimized. Due to this bug, recent versions of ruby installed via boxen+rbenv+ruby-build are currently very slow -- this addresses that issue. (I know for certain with my testing it affects 2.0.0 and I believe also possibly 1.9.3)

See rbenv/ruby-build#335 and rbenv/ruby-build#340 and probably most importantly rbenv/ruby-build#351.

Here is a speed comparison with some trivial code on my system:

// ruby-2.0.0 unoptimized (current boxen default)
$ time ./fizzbuzz.rb 1000000 > /dev/null 
./fizzbuzz.rb 1000000 > /dev/null  2.12s user 0.06s system 98% cpu 2.220 total

// ruby-2.0.0 recompiled after ruby-build fix applied
$ time ./fizzbuzz.rb 1000000 > /dev/null 
./fizzbuzz.rb 1000000 > /dev/null  0.65s user 0.04s system 98% cpu 0.704 total

The performance difference is as much as 300-400%!

Note: Because of try_to_download_ruby_version.bash the precompiled ruby binaries that Boxen hosts on S3 will also need to be recompiled after this. I don't believe there is a way for me to do that via a pull request(?), so the Boxen maintainers will need to do so after merging this.

addresses huge performance problems with compiled rubies
see ruby-build/issues#335 and ruby-build/issues#340
@mroth
Copy link
Contributor Author

mroth commented May 1, 2013

/cc @wfarr on this one since it's a large performance issue so it possibly needs his eyes.

wfarr added a commit that referenced this pull request May 1, 2013
Bump ruby-build version to fix compiler optimization bug
@wfarr wfarr merged commit 805e61d into boxen:master May 1, 2013
@wfarr
Copy link
Contributor

wfarr commented May 2, 2013

I'm working on rebuilding every version of 1.9.3 and 2.0.0 locally this evening to upload.

@mroth
Copy link
Contributor Author

mroth commented May 2, 2013

@wfarr cool, thanks. For future reference in case it ever comes up again, is that something I can do and add to a pull request? Or does that need to be done behind the scenes on some secret Github defrobulator?

@wfarr
Copy link
Contributor

wfarr commented May 2, 2013

These tarballs are hosted on the GitHub S3. Naturally only GitHubbers have access to that. :)

@wfarr
Copy link
Contributor

wfarr commented May 2, 2013

All versions managed in any ruby::* class rebuilt and uploaded.

Quick instructions to get upgraded here

@mroth
Copy link
Contributor Author

mroth commented May 2, 2013

🐢 ➡️ 🐎

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants