Avoid unnecessary splat allocation #8640
Merged
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.
Because get_push_scope is a method call, Ruby will allocate an array for *args even though it is not necessary to do so. Using a local variable avoids the allocation.
Found by the performance warning in Ruby feature 21274.
Note that there is a similar issue in the vendored optparse. I submitted a pull request to fix it upstream: ruby/optparse#97
What was the end-user or developer problem that led to this PR?
No problem, this is just a micro-optimization.
What is your fix for the problem, implemented in this PR?
Using a local variable to avoid an unnecessary allocation.
Make sure the following tasks are checked