diff options
| author | Michael Howell <michael@notriddle.com> | 2023-12-10 22:46:40 -0700 |
|---|---|---|
| committer | Michael Howell <michael@notriddle.com> | 2023-12-13 10:37:51 -0700 |
| commit | 9dfcf131b3a8c36c5d9f8c46b3f127e5709b2b93 (patch) | |
| tree | e4cb7c4ad4ec1fffac45a8f426f86618002baaad /compiler/rustc_pattern_analysis/src/errors.rs | |
| parent | 9a9695a05268fd6548d416e511d5222b35b62db0 (diff) | |
| download | rust-9dfcf131b3a8c36c5d9f8c46b3f127e5709b2b93.tar.gz rust-9dfcf131b3a8c36c5d9f8c46b3f127e5709b2b93.zip | |
rustdoc-search: better hashing, faster unification
The hash changes are based on some tests with `arti` and various specific queries, aimed at reducing the false positive rate. Sorting the query elements so that generics always come first is instead aimed at reducing the number of Map operations on mgens, assuming if the bloom filter does find a false positive, it'll be able to reject the row without having to track a mapping. - https://hur.st/bloomfilter/?n=3&p=&m=96&k=6 Different functions have different amounts of inputs, and unification isn't very slow anyway, so figuring out a single ideal number of hash functions is nasty, but 6 keeps things low even up to 10 inputs. - https://web.archive.org/web/20210927123933/https://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.72.2442&rep=rep1&type=pdf This is the `h1` and `h2`, both derived from `h0`.
Diffstat (limited to 'compiler/rustc_pattern_analysis/src/errors.rs')
0 files changed, 0 insertions, 0 deletions
