-
Notifications
You must be signed in to change notification settings - Fork 362
Unify Hashtable static API with ConcurrentHashtable; deprecate Support (perf toolbox) #12101
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
Open
dougqh
wants to merge
48
commits into
dougqh/benchmarkutils-map-set-pollution
from
feat/hashtable-api-unification
Open
Changes from all commits
Commits
Show all changes
48 commits
Select commit
Hold shift + click to select a range
928babf
Wire BenchmarkUtils.polluteHashDispatch into the remaining map/set be…
dougqh e605da0
Unify Hashtable static API with ConcurrentHashtable; deprecate Support
dougqh 06ef73e
Migrate HashtableTest to blessed Hashtable static API
dougqh 8442fb0
Hashtable: annotate nullability (@Nonnull/@Nullable)
dougqh 7e70fd9
Rename Hashtable.insertHeadEntry overloads to insertHeadEntryAt/For
dougqh 73b2ebd
Add a strict entry-count cap to Hashtable.D1/D2
dougqh a78338d
Handle Hashtable.D1's new strict cap in CardinalityLimitReporter
dougqh 67013e2
Add Hashtable.SizeTracker, EvictionCursor, and Table building blocks
dougqh 5526309
Back Hashtable.D1/D2's entry-count cap with SizeTracker
dougqh 40f3185
Port drain from ConcurrentHashtable to Hashtable
dougqh a1027d3
Expose isFull on D1/D2
dougqh a82acd1
Mark Hashtable D1/D2 getOrCreate as @Nullable
dougqh 83d3410
Unify the Hashtable factory API on a capped/uncapped vocabulary
dougqh 9901121
Avoid a capturing predicate in Hashtable D1/D2 remove
dougqh d4c3a8e
Lead the size-tracked Hashtable statics with the SizeTracker
dougqh d265062
Drop references to the deprecated Support facade from Hashtable javadoc
dougqh f953eda
Lead getOrCreate's javadoc with the fact that it can refuse
dougqh 3c7d136
Rename getOrCreate to tryGetOrCreate on Hashtable and FlatHashtable
dougqh ef94afb
Replace Hashtable insertOrReplace with a refusing tryInsertOrReplace
dougqh 26ececc
Clean up Hashtable comments: drop outward references, order by use
dougqh 1f1b5b7
Fold SizeTracker and EvictionCursor into one SizeManager
dougqh 1d187b0
Rename Hashtable.Table to State and make it something you hold
dougqh dfdc74b
Take State in the size-tracked statics; keep eviction static too
dougqh f989e26
Round out the State-taking statics: size, isEmpty, bucketFor, forEach
dougqh 91976be
Add size-tracked drain; fix two review nits
dougqh 2f4a18c
Step the eviction cursor on a failed scan; name the count honestly
dougqh 2a3ff3b
Fix two eviction/drain defects found by Codex review
dougqh 9be2923
Add a selection guide to Hashtable and FlatHashtable
dougqh 6725515
Add Hashtable.D1/D2 tryGetOrUpdate to keep the cap refusal off the ca…
dougqh 1168d62
Add a primitive-long context overload of Hashtable.D1.tryGetOrUpdate
dougqh cdd1ac0
Record the capped-table rerun of HashtableD1Benchmark
dougqh d05c61f
Assert against double-inserting the same Entry instance
dougqh c520bb0
Guard MutatingBucketIterator.replace against relinking an already-lin…
dougqh c9eceab
Add Maybe-returning tryGetOrCreateAsMaybe to Hashtable and FlatHashtable
dougqh 23bd723
Promote tryGetOrCreateAsMaybe to tryGetOrCreate, demote nullable form…
dougqh 3705bab
Rename Hashtable.createCapped to createBounded for family-wide naming…
dougqh be37ac0
Rename createCapped to createBounded in Hashtable D1/D2 tests
dougqh 36a4f1f
Port removeIf to Hashtable
dougqh 5ff0f1c
Port tryGetOrCreateOrEvict to Hashtable
dougqh 2468c16
Remove Hashtable.tryGetOrUpdate family (D1/D2)
dougqh f259ef7
Remove duplicate setUp() left by rebase onto #12298's branch
dougqh 5c9a63e
Fix Hashtable.drain leaving size inconsistent when the sink throws
dougqh 7839f2e
Fix quadratic eviction when a bucket has a non-evictable prefix
dougqh 919e01c
Fix capacityFor losing load-factor headroom for small cardinality limits
dougqh 73204b0
Fix Hashtable javadoc inaccuracies flagged in review
dougqh fa4f452
Trim and complete javadoc on D1/D2 create/getOrCreate methods
dougqh bccf961
Merge remote-tracking branch 'origin/master' into feat/hashtable-api-…
dougqh cbc1855
Merge remote-tracking branch 'origin/dougqh/benchmarkutils-map-set-po…
dougqh File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
suggestion: Keep the capacity consequence without the operational aside.