-
Notifications
You must be signed in to change notification settings - Fork 118
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
Reduce dependency bloat #1113
base: master
Are you sure you want to change the base?
Reduce dependency bloat #1113
Conversation
This comment has been minimized.
This comment has been minimized.
Some of these files show every line as different. Is this due to CR/LF? |
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.
There's a bunch of test failures. Some of them are probably caused by full disks on CI machines. Those should now be fixed. Others probably just require changing reference test outputs due to the use of a different hashing function.
I think most of the maps that use FNV today can be regular default HashMaps. I mostly used FNV to ensure deterministic iteration order. This is necessary e.g., when building dataflow graphs to make sure that each DD worker ends up with the same operator id assignment. In most other cases there's no reason for non-standard hasher.
|
||
const XX_SEED1: u64 = 0x23b691a751d0e108; | ||
const XX_SEED2: u64 = 0x20b09801dce5ff84; | ||
|
||
#[inline] |
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.
why don't we trust the compiler with all this inlining?
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.
We do, however this makes the functions viable for cross-crate inlining
num
from the dependency treefnv
andtwox-hash
and replaced with a single dependence onxxhash-rust
, it has zero dependencies and is very lighttime
for all generated crates, this reduced the dependency tree a good bitDDVal
/DDValue
innards