Skip to content
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

Upgrade to Ruby 3.3 #984

Merged
merged 16 commits into from
Mar 13, 2024
Merged

Upgrade to Ruby 3.3 #984

merged 16 commits into from
Mar 13, 2024

Conversation

acoffman
Copy link
Member

We are currently on 3.0 which is still receiving security updates for the time being, but will be EOL soon.

Ruby 3.3 (released in December) also comes with YJIT, which speeds up rails apps by somewhere between 15-20% in real world benchmarks (https://railsatscale.com/2023-12-04-ruby-3-3-s-yjit-faster-while-using-less-memory/). This adds an initializer which turns on YJIT if it's available.

Initially this will only swap staging to 3.3; if that goes well, we'll roll out to prod.

@acoffman acoffman added the housekeeping PR Label for minor housekeeping tasks and updates. Will appear in release notes. label Jan 17, 2024
@acoffman
Copy link
Member Author

Additionally, updated our JSON serialization library, which claims about a 15% performance gain in the new version over the version we're using, and rolled everything out to staging.

We are substantially behind on the graphql gem as well so I'm going to try to get that updated in this PR as well.

@acoffman
Copy link
Member Author

Updated to the newest GraphQL libraries and rails version. Running successfully in staging. Will want to kick the tires some before rolling to prod.

@acoffman acoffman merged commit 0c9d35d into main Mar 13, 2024
4 checks passed
@acoffman acoffman deleted the ruby-upgrade branch March 13, 2024 15:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
housekeeping PR Label for minor housekeeping tasks and updates. Will appear in release notes.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant