Replace splitl
/splitr
by splitSized
in DiffSeq
module
#4273
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.
Description
Closes #4272.
We replace uses of
splitl
andsplitr
in theDiffSeq
module by uses ofsplitSized
. Furthermore, we run the existingDiffSeq
benchmarking suite twice, once for the "old" version that usessplitl
andsplitr
(i.e., baseline), and the new version that usessplitSized
.Baseline (a40b863):
Version using
splitSized
(8b63e53):We see that for the first scenario, the
splitSized
version shows a small performance improvement. This is probably due to the fact that thedefault configuration
benchmarking scenario sometimes performs large switches, which usesplitr
, and large switches trigger the worst-case scenario forsplitr
in terms of time complexity. The other three scenarios report identical/very similar performance.Note that these results are not definitive proof of relative performance, but they do give a strong indication that using
splitSized
does not result in a significant performance decrease. I therefore suggest we go ahead with replacingsplitl
andsplitr
withsplitSized
.Checklist
interface-CHANGELOG.md
interface-CHANGELOG.md