-
Notifications
You must be signed in to change notification settings - Fork 1.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Optimize (attribute.Set).Filter
for no filtered case
#4774
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #4774 +/- ##
=====================================
Coverage 82.2% 82.3%
=====================================
Files 226 226
Lines 18381 18392 +11
=====================================
+ Hits 15127 15148 +21
+ Misses 2972 2963 -9
+ Partials 282 281 -1
|
MrAlias
changed the title
Optimize
Optimize Jan 2, 2024
attribute.Set
filtering(attribute.Set).Filter
for no filtered case
MrAlias
force-pushed
the
zero-alloc-unfilterd-set
branch
2 times, most recently
from
January 3, 2024 16:20
892162f
to
42d644b
Compare
When all elements of the Set are kept during a call to Filter, do not allocate a new Set and the dropped attributes slice. Instead, return the immutable Set and nil. To achieve this the functionality of filterSet is broken down into a more generic filteredToFront function.
MrAlias
force-pushed
the
zero-alloc-unfilterd-set
branch
from
January 3, 2024 16:29
a9ae4f3
to
c0a178b
Compare
MrAlias
requested review from
Aneurysm9,
evantorrie,
XSAM,
dashpole,
MadVikingGod,
pellared,
hanyuancheung and
dmathieu
as code owners
January 3, 2024 16:32
pellared
reviewed
Jan 3, 2024
Co-authored-by: Robert Pająk <[email protected]>
pellared
approved these changes
Jan 3, 2024
dmathieu
approved these changes
Jan 8, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
When all elements of the
Set
are kept during a call to(*Set).Filter
, don't allocate a newSet
the dropped attributes slice. Instead return the immutableSet
and nil.To achieve this the functionality of
filterSet
is broken down into a more genericfilteredToFront
function.Benchmarks