diff options
| author | bors <bors@rust-lang.org> | 2014-03-06 18:16:39 -0800 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2014-03-06 18:16:39 -0800 |
| commit | 5862c0c28b7d25f1a1f8fd9165eff1f6f3d191d8 (patch) | |
| tree | 6c4877cab523a54019eb8e15820c8531913139cc /src/rustllvm/ExecutionEngineWrapper.cpp | |
| parent | 0e95b086db515386faf41549b490515a540165b1 (diff) | |
| parent | 0a8413292845f527b8cf6bb2d02c9923f782ff37 (diff) | |
| download | rust-5862c0c28b7d25f1a1f8fd9165eff1f6f3d191d8.tar.gz rust-5862c0c28b7d25f1a1f8fd9165eff1f6f3d191d8.zip | |
auto merge of #12635 : alexcrichton/rust/speedy-hash, r=brson
This leverages the new hashing framework and hashmap implementation to provide a much speedier hashing algorithm for node ids and def ids. The hash algorithm used is currentl FNV hashing, but it's quite easy to swap out. I originally implemented hashing as the identity function, but this actually ended up in slowing down rustc compiling libstd from 8s to 13s. I would suspect that this is a result of a large number of collisions. With FNV hashing, we get these timings (compiling with --no-trans, in seconds): | | before | after | |-----------|---------:|--------:| | libstd | 8.324 | 6.703 | | stdtest | 47.674 | 46.857 | | libsyntax | 9.918 | 8.400 |
Diffstat (limited to 'src/rustllvm/ExecutionEngineWrapper.cpp')
0 files changed, 0 insertions, 0 deletions
