add a note

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32962 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Chris Lattner 2007-01-06 23:19:38 +00:00
parent 15c91887e4
commit 38742b9603
2 changed files with 8 additions and 2 deletions

View File

@ -33,8 +33,11 @@ CStringMapImpl::CStringMapImpl(unsigned InitSize, unsigned itemSize) {
/// HashString - Compute a hash code for the specified string.
///
static unsigned HashString(const char *Start, const char *End) {
// Bernstein hash function.
unsigned int Result = 0;
// Perl hash function.
// TODO: investigate whether a modified bernstein hash function performs
// better: http://eternallyconfuzzled.com/tuts/hashing.html#existing
// X*33+c -> X*33^c
while (Start != End)
Result = Result * 33 + *Start++;
Result = Result + (Result >> 5);

View File

@ -33,8 +33,11 @@ CStringMapImpl::CStringMapImpl(unsigned InitSize, unsigned itemSize) {
/// HashString - Compute a hash code for the specified string.
///
static unsigned HashString(const char *Start, const char *End) {
// Bernstein hash function.
unsigned int Result = 0;
// Perl hash function.
// TODO: investigate whether a modified bernstein hash function performs
// better: http://eternallyconfuzzled.com/tuts/hashing.html#existing
// X*33+c -> X*33^c
while (Start != End)
Result = Result * 33 + *Start++;
Result = Result + (Result >> 5);