Changes in directory llvm/lib/Support:
CStringMap.cpp updated: 1.1 -> 1.2 --- Log message: add a note --- Diffs of the changes: (+4 -1) CStringMap.cpp | 5 ++++- 1 files changed, 4 insertions(+), 1 deletion(-) Index: llvm/lib/Support/CStringMap.cpp diff -u llvm/lib/Support/CStringMap.cpp:1.1 llvm/lib/Support/CStringMap.cpp:1.2 --- llvm/lib/Support/CStringMap.cpp:1.1 Sun Oct 29 17:42:03 2006 +++ llvm/lib/Support/CStringMap.cpp Sat Jan 6 17:19:38 2007 @@ -33,8 +33,11 @@ /// 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); _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits