diff options
| author | bors <bors@rust-lang.org> | 2020-10-25 09:23:45 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-10-25 09:23:45 +0000 |
| commit | 5171cc76c264fd46f32e140c2e460c77ca87d5e5 (patch) | |
| tree | 93c64eee7dceb17e762532d38cabc51125fb187d /compiler/rustc_codegen_llvm/src | |
| parent | 3e0dd24a6c0812eedbb02182a75c352f8a7e184a (diff) | |
| parent | a602d155f06bb3fb7129c036f372e1cb4595ab01 (diff) | |
| download | rust-5171cc76c264fd46f32e140c2e460c77ca87d5e5.tar.gz rust-5171cc76c264fd46f32e140c2e460c77ca87d5e5.zip | |
Auto merge of #77476 - tgnottingham:buffered_siphasher128, r=nnethercote
perf: buffer SipHasher128 This is an attempt to improve Siphasher128 performance by buffering input. Although it reduces instruction count, I'm not confident the effect on wall times, or lack-thereof, is worth the change. --- Additional notes not reflected in source comments: * Implementation choices were guided by a combination of results from rustc-perf and micro-benchmarks, mostly the former. * ~~I tried a couple of different struct layouts that might be more cache friendly with no obvious effect.~~ Update: a particular struct layout was chosen, but it's not critical to performance. See comments in source and discussion below. * I suspect that buffering would be important to a SIMD-accelerated algorithm, but from what I've read and my own tests, SipHash does not seem very amenable to SIMD acceleration, at least by SSE.
Diffstat (limited to 'compiler/rustc_codegen_llvm/src')
0 files changed, 0 insertions, 0 deletions
