Я хочу хэшировать строку длиной до 30. Какая будет лучшая идея сделать это, если мое время. Функция будет называться более 100 миллионов раз. в настоящее время я использую следующий код,
static UInt64 CalculateHash(string read, bool lowTolerance)
{
UInt64 hashedValue = 0;
int i = 0;
while (i < read.Length)
{
hashedValue += read.ElementAt(i) * (UInt64)Math.Pow(31, i);
if (lowTolerance) i += 2;
else i++;
}
return hashedValue;
}