maurer wrote:

This is not a Rust concern, but re-reading the initial post, it *looks* like 
your own statistics suggest that consuming 3 bits for arity costs more than it 
buys you. As stated, (didn't check your math, just going off what you said) 
prior to your change, we expect 0.01383765 collisions in your sample 
environment. After your change, we expect to have the *sum* of your right hand 
column in collisions, which comes out to 0.0266774 - nearly double the rate of 
collisions we have with the basic implementation. In fact, I think that any 
scheme like this will always going to increase the number of overall 
collisions, given that the arity is implicitly hashed into the representation 
already.

The main reason I could see to consider this is if for some reason a 
cross-arity collision is more dangerous than a same-arity collision in terms of 
exploitability, which I can't immediately argue, but perhaps you have something 
for this that was just assumed in the initial post?

https://github.com/llvm/llvm-project/pull/117121
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to