Skip to content
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

Deterministic compilation & better CLI #25

Merged
merged 11 commits into from
Nov 29, 2021
Merged

Deterministic compilation & better CLI #25

merged 11 commits into from
Nov 29, 2021

Conversation

alex-ozdemir
Copy link
Contributor

This PR makes compilation deterministic (by switching to fxhash) and improves the CLI.

Technically, the std-based hash tables cannot be guaranteed to have the deterministic iteration order that we need, regardless of what hash you use, so I've added some micro-tests for the property that we need. I'm not optimistic about getting better guarantees from std, but I'll try.

The CLI has also changed.

Via some search-and-replace changes:
* from ahash to fxhash
* from AHash to FxHash
* from HashMap::new to HashMap::default
* from HashSet::new to HashSet::default
* one manual change from Hash?::<?>::new to Hash?::<?>::default
@alex-ozdemir alex-ozdemir merged commit 8a05a10 into master Nov 29, 2021
@alex-ozdemir alex-ozdemir deleted the deterministic branch November 29, 2021 23:17
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants