Iterate over combined hook slices instead of iterating using two loops #810
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.
Clean up some duplicated code in which we were previously iterating over
two sets of hooks and running the same code on both collections, and I'd
left a TODO to investigate the use of sequences instead to avoid a slice
allocation.
I ran the sequences experiment over in #809, and although I'd still
defend it as a worthwhile prototype, it turns out that using sequences
only becomes more efficient than allocating an extra slice once we get
to fairly large slice sizes, and even there the benefit is quite
marginal.
The benchmarks also show that at smaller slice sizes, it's actually a
tiny bit faster allocating a slice to iterate over once instead of using
two for loops. This is convenient because that sure looks a lot nicer
code-wise anyway, so here we switch over to that approach and remove the
TODOs.