rust/src/librustc/driver
Alex Crichton bec7b766fb rustc: Move to FNV hashing for node/def ids
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  |
2014-03-06 17:45:48 -08:00
..
driver.rs rustc: Move to FNV hashing for node/def ids 2014-03-06 17:45:48 -08:00
mod.rs librustc: De-export driver. rs=deexport 2013-01-29 15:16:43 -08:00
session.rs debuginfo: Re-introduce the notion of line-table-only debuginfo. 2014-03-06 07:57:18 +01:00