Skip to content

Conversation

@Zentrik
Copy link
Member

@Zentrik Zentrik commented Mar 25, 2024

Doing make cleanall; make, building corecompiler.ji now takes 205-206s whilst on 4a2c593 it took 208-210s.
On the allinference benchmarks in BaseBenchmarks I see a 0.5-1% improvement in instruction counts.

This is an updated version of #52496.
I recall someone sharing a profile of building Julia on the slack a while ago, if they still have it could I see which functions were calling inthash/int64hash the most.

Zentrik and others added 13 commits August 5, 2024 12:53
This reverts commit 841185a.
Using bitmix is incorrect, as on 64 bit systems bitmix uses the 64 bit version of FxHasher. Also possibly a performance regression.
This reverts commit 80ee622.
We have a perf regression since first commit, I've had trouble getting reliable benchmarking results so reverting this in case this caused a regression.
Co-authored-by: Stefan Karpinski <stefan@karpinski.org>
@giordano
Copy link
Member

giordano commented Aug 5, 2024

@Zentrik Should we run some benchmarks on this PR?

#ifdef _P64
STATIC_INLINE uint64_t bitmix(uint64_t a, uint64_t b) JL_NOTSAFEPOINT
{
return int64hash(a^bswap_64(b));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is bswap_64 still needed after this PR, or it can be removed?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't see it referenced elsewhere so I guess so

@vtjnash
Copy link
Member

vtjnash commented Aug 5, 2024

There is a downside to this that objectid is no longer a (mostly) unique identifier for a given object type in a given session, so if it isn't faster, it might not be worth doing

@gbaraldi
Copy link
Member

gbaraldi commented Aug 5, 2024

Why is this different from whatever hash we use right now? Isn't it just switching one hash function to another?

@Zentrik
Copy link
Member Author

Zentrik commented Aug 5, 2024

@Zentrik Should we run some benchmarks on this PR?

I'm fairly skeptical the improvement will be discernible from the noise for nanosoldier. Unfortunately, it's going to be a while before we can get instruction counts from nanosoldier.

@Zentrik Zentrik mentioned this pull request Mar 18, 2025
@Zentrik
Copy link
Member Author

Zentrik commented May 28, 2025

So I don't forget if I ever come back to this: looks like fxhasher was made a bit faster with rust-lang/rustc-hash@177c566.

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.

4 participants