-
Notifications
You must be signed in to change notification settings - Fork 343
Add StringIndex: a generic open-addressed string set #11660
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
41
commits into
master
Choose a base branch
from
dougqh/tagset
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
41 commits
Select commit
Hold shift + click to select a range
9e76978
Add TagSet: a generic open-addressed string set (+ benchmarks)
dougqh 39c91c0
Drop KeyOfBenchmark from the TagSet PR (it's a keyOf-integration benc…
dougqh 66ee8ed
Add TagSet + parallel int[] fixed-map option to UnsynchronizedMapBenc…
dougqh 4d493ed
Move UnsynchronizedMapBenchmark lookup rotation to @State(Scope.Thread)
dougqh 94830b2
Add threading-correct TagMap access microbenchmark
dougqh 54979cb
Fix data race in UnsynchronizedMapBenchmark scaffolding index
dougqh 0ecfa48
Wire -Pjmh.includes and -PtestJvm into internal-api JMH config
dougqh 9dc9122
Update UnsynchronizedMapBenchmark results with Java 17 numbers
dougqh a2b6a2f
Update UnsynchronizedMapBenchmark prose to match Java 17 results
dougqh cd883e1
Add builder-style insert benchmarks and update results in TagMapAcces…
dougqh 02d08f0
Merge branch 'master' into dougqh/tagmap-access-benchmark
dougqh 36a711e
Use @Fork(2) in TagMapAccessBenchmark; drop JMH gradle wiring leak
dougqh 78a786e
Split map benchmarks into ImmutableMapBenchmark and SingleThreadedMap…
dougqh 0b1b9bd
Rename TagSet to StringIndex
dougqh 24a9fdc
Overhaul set benchmarks: split Immutable / SingleThreaded, add Set.co…
dougqh d916762
Drop benchmarks from StringIndex PR; revert SetBenchmark/Unsynchroniz…
dougqh 613952d
Add Map.copyOf case to ImmutableMapBenchmark; fix dangling Javadoc link
dougqh a9329e0
Merge remote-tracking branch 'origin/master' into dougqh/tagmap-acces…
dougqh 5a14e62
Add Java 17 results to set benchmark Javadocs
dougqh 227fcc0
Add JOL retained-footprint test for StringIndex vs JDK sets
dougqh af19570
Note StringIndex's footprint-for-throughput tradeoff in class Javadoc
dougqh 41e9777
Correct StringIndex Javadoc: 2x sizing is for build simplicity, not t…
dougqh 1d57b3f
Fix clone_synchronizedHashMap to clone the synchronized map (not the …
dougqh 0c8f180
Use @Fork(5) for ImmutableMapBenchmark (JIT-bimodal copyOf path)
dougqh 78075dc
Rename copyOf -> tracerImmutableSet in ImmutableSetBenchmark
dougqh e1a6de3
Fix clone_synchronizedSet to clone the synchronized set (not the plai…
dougqh d11d3e3
Merge remote-tracking branch 'origin/dougqh/set-benchmark' into dougq…
dougqh a603f7a
Merge remote-tracking branch 'origin/dougqh/tagmap-access-benchmark' …
dougqh 60bcf7b
Add StringIndex benchmark arms across its three use cases
dougqh afc6563
Add preliminary @Fork(2) StringIndex benchmark results to Javadocs
dougqh b48eb0d
Merge remote-tracking branch 'origin/master' into dougqh/tagset
dougqh a903c3a
Add StringIndex value-mapping and lookup surface API
dougqh 2d4d779
Test StringIndex value-mapping and lookup API
dougqh 2ea9ae5
Add constant-propagated switch arms to StringIndexSwitchBenchmark
dougqh ecf3643
Refresh StringIndexSwitchBenchmark results: clean @Fork(5), const-key…
dougqh d6378a4
Reconcile StringIndexSwitchBenchmark intro with results (key-constanc…
dougqh daca028
Finalize StringIndex benchmark Javadocs with quiet @Fork(5) numbers
dougqh ba9a3ec
Sharpen stringIndex_miss caveat with the confirmed @Fork(10) bimodality
dougqh 63fe111
Merge remote-tracking branch 'origin/master' into dougqh/tagset
dougqh 767af3d
spotless: reflow grafted StringIndex Javadoc in ImmutableMapBenchmark
dougqh 2f8c503
Merge branch 'master' into dougqh/tagset
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
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
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.
This adds a new test dependency, but
internal-api/gradle.lockfilehas noorg.openjdk.jol:jol-coreentry. The repo's lock-file workflow says added dependencies should be resolved with--write-locksand thegradle.lockfilechange committed (docs/how_to_work_with_gradle.md:918-923); because this build usesLockMode.LENIENT(buildSrc/src/main/kotlin/dd-trace-java.dependency-locking.gradle.kts:13-18, and Gradle documents lenient mode as allowing added dependencies without failing), the JOL test classpath can now resolve outside the recorded lock state instead of staying reproducible. Please regenerate and commitinternal-api/gradle.lockfile.Useful? React with 👍 / 👎.