Pulled varargs test out of the loop to avoid checking on each parameter #352
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.
I realized that a lot of time is spent in the isVarArgs method, because it is called for every parameter, but the result will always be the same in each loop iteration.
So I pulled the check out of the loop. For functions with no parameter it introduces one more check and variable assignment, but the gain for methods with >1 parameter is dramatic.
This change makes one of the applications I am working on 13 to 15 percent faster on my machine.