perf: use rustc-hash for HashMap and HashSet
#1298
Open
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.
Since we already depend on
rustc-hashtransiently, this doesn't add any more dependencies. As long as DOS attacks aren't a concern (which I don't think they are?), this should be free performance.In my (admittedly naive) testing, this really improved CPU usage in some cases, which is pretty nice to get for free.
Also, on a separate note, I would like to work on improving the performance more, but right now I don't actually know how to benchmark properly (
cargo-flamegraphis returning nonsense for me?), so I've just been making random changes until performance improved. This is the first change I made that actually did anything meaningful 🫠