Enable Ruby YJIT for performance boost 🚀 #2127
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Follow up to the upgrade to Ruby 3.3.0, which brought with a much improved YJIT, this PR actually enables said YJIT for a supposed free performance boost of around 15%-25% latency wise.
Caveat being devdocs isn't a Rails codebase nor is it a massive app but regardless, this should be a free performance win with little to no possible downsides assuming devdocs is not running with minimal RAM. For further reference, here is a blog post on the performance increase, as well as PR that made YJIT easily enable-able for Rails on Ruby 3.3+.
As for the approach, I don't know a whole lot about Dockerfiles nor setting arbitrary env vars but I followed the following two guides/posts on how to enable YJIT, as they seem legitimate, having uses fly.io before myself.