-
Notifications
You must be signed in to change notification settings - Fork 326
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
400x faster with linear hashing of the hash map entries #8425
Conversation
I assume performance of the
|
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.
Minor questions but other than that this looks nice!
engine/runtime/src/main/java/org/enso/interpreter/runtime/data/hash/EnsoHashMapBuilder.java
Show resolved
Hide resolved
engine/runtime/src/main/java/org/enso/interpreter/runtime/data/hash/HashMapGetNode.java
Show resolved
Hide resolved
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.
Very nice performance improvement. Just few typos in javadoc.
engine/runtime/src/main/java/org/enso/interpreter/runtime/data/hash/EnsoHashMapBuilder.java
Outdated
Show resolved
Hide resolved
engine/runtime/src/main/java/org/enso/interpreter/runtime/data/hash/EnsoHashMapBuilder.java
Outdated
Show resolved
Hide resolved
engine/runtime/src/main/java/org/enso/interpreter/runtime/data/hash/EnsoHashMapBuilder.java
Outdated
Show resolved
Hide resolved
…/hash/EnsoHashMapBuilder.java Co-authored-by: Pavel Marek <[email protected]>
engine/runtime/src/main/java/org/enso/interpreter/runtime/data/hash/HashMapToVectorNode.java
Show resolved
Hide resolved
tester = expect_column_names ["Test 1", "Test 2", "Test 3", "Test"] | ||
problems = [Duplicate_Output_Column_Names.Error ["Test", "Test", "Test"]] | ||
Problems.test_problem_handling action problems tester |
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.
I think I'm slightly confused.
Changing the ordering of elements of the Map shouldn't really change the way rename_columns
works, at least in theory. I guess that if it did, we should look into it.
I believe the ordering is not most crucial, but the original behaviour presented in this test seems rather preferred - we want the column without suffix to be the first column on the list, not last.
@jdunkerley shall I create a small bug report so that we can amend rename_columns
to work again like before with the new Map?
Pull Request Description
Fixes #5233 by removing
EconomicMap
& co. and using plain old good linear hashing. Fixes #8090 by introducingStorageEntry.removed()
rather than copying the builder on each removal.Important Notes
Checklist
Please ensure that the following checklist has been satisfied before submitting the PR:
Java,