diff options
author | Rex Kerr <ichoran@gmail.com> | 2013-11-10 15:05:58 -0800 |
---|---|---|
committer | Rex Kerr <ichoran@gmail.com> | 2013-11-18 01:41:30 -0800 |
commit | 05aedd936e7e7bcf0fa2443abd58b39732f173a9 (patch) | |
tree | 96afe8ba6a01411d6a740743d53dcd61939958e6 /.gitignore | |
parent | d2cee3a5e1d26ba27fd7912d48b1e7af0beb844a (diff) | |
download | scala-05aedd936e7e7bcf0fa2443abd58b39732f173a9.tar.gz scala-05aedd936e7e7bcf0fa2443abd58b39732f173a9.tar.bz2 scala-05aedd936e7e7bcf0fa2443abd58b39732f173a9.zip |
New mutable hash map with Long keys: partially solves SI-5263 and is relevant
to SI-6825.
The hash map is based on an open addressing scheme that provides
dramatically faster (mostly due to specialization) get and contains
operations than either the standard Java HashMap or any of the existing
Scala hash maps. It doesn't work well above 500,000,000 elements as
the arrays cannot scale past 2^30 elements. Maps are not faster in
general due to the lack of specialization of Function1[Long, V].
Revisions made sure that all return types in the public API are specified.
Also switched to a leading-zeros method of calculating the initial mask (to
save a few ns), and used an occasionally-more-efficient version of
seekEntryOrOpen. Also edited out specific performance numbers and moved
constants to companion.
Diffstat (limited to '.gitignore')
0 files changed, 0 insertions, 0 deletions