ImmutableKit.map with pre-size#2841
Merged
bbakerman merged 1 commit intographql-java:masterfrom Jun 8, 2022
Merged
Conversation
jord1e
reviewed
May 31, 2022
60189be to
ed1bb6d
Compare
Member
if I read this right - then for large lists its better but for small lists its twice as bad?? The guava code has Now this is interesting - which should we optimise for? And does it matter in practice? I am happy to break the contact (Iterable -> Collection) but I am unsure on what end we optimise for |
Contributor
Author
|
actually the thrpt it is better for both sizes: only the error is twice as big for small lists 10385 vs 5790. Not sure if that really matters 🤷🏻♂️ |
Member
Ahh yup - I was NOT reading it right |
Member
|
Thanks |
Contributor
Author
|
I know it is not much, just a 4-6% thrpt increase in these 2 benchmarks. |
This file contains hidden or 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
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.
@bbakerman @andimarek a breaking change in
ImmutableKitthat provides a nice "free lunch":by switching the signature from
IterabletoCollectionit is possible to pre-size the builder to avoid any extra allocation.The class is is marked as
@Internalso maybe it not a problem at all :)List size = 10000
List size = 10