Thomas Wuerthinger
Thomas Wuerthinger
Yes, @mtopolnik the numbers there seem to indicate you were running with Graal JIT with the missing intrinsifications for the incubator Vector API.
Didn't btw know about "-Djdk.incubator.vector.VECTOR_ACCESS_OOB_CHECK=0" yet. Is this planned to stay and be the new unsafe ;-) ?
@royvanrijn One thing I found is that in order for the UNSAFE calls to be at maximum efficiency, you should initialize the class with the UNSAFE field at build time....
OK, thanks for evaluating! Looks like this is starting to get quite machine-specific now.
@gunnarmorling No stress evaluating this, but now I fixed a problem in the hash calculation (which even led to a collision for the test data set) and improved the performance...
Yes, agreed, thank you!
I would not expect the "flattening" of the hash table entry array to make a difference, because the array is very sparsely populated. Therefore the structure of sparse array of...
@gunnarmorling Added one last code layout change that improves by 1-2%, but that is really it now ;-).
Based on the various experiments around the 16-byte processing, I also thought it would not benefit so much. But it seems like for my solution it was the last missing...
Obviously, missed branches are bad. But what I did not expect is *how bad* they are. There are 500 million missed branches removed (which makes sense, because basically every 2nd...