Rewrite fallback hash to be faster

This commit is contained in:
Ryan Cavanaugh 2019-03-08 16:38:02 -08:00
parent e8e7e88b2a
commit 156566311b

View File

@ -8,8 +8,11 @@ namespace ts {
*/
/* @internal */
export function generateDjb2Hash(data: string): string {
const chars = data.split("").map(str => str.charCodeAt(0));
return `${chars.reduce((prev, curr) => ((prev << 5) + prev) + curr, 5381)}`;
let acc = 5381;
for (let i = 0; i < data.length; i++) {
acc = ((acc << 5) + acc) + data.charCodeAt(i);
}
return acc.toString();
}
/**