Updated PR#196 to use a common hash function

This commit is contained in:
David Addison
2019-08-14 10:08:39 -07:00
parent 01d1836668
commit fad079a8ae
3 ha cambiato i file con 6 aggiunte e 15 eliminazioni
+3 -12
Vedi File
@@ -87,18 +87,9 @@ void ncclDebugLog(ncclDebugLogLevel level, unsigned long flags, const char *file
}
}
uint64_t getHash(const char* string) {
uint64_t getHash(const char* string, int n) {
// Based on DJB2, result = result * 33 + char
uint64_t result = 5381;
for (int c = 0; string[c] != '\0'; c++) {
result = ((result << 5) + result) + string[c];
}
return result;
}
uint64_t getnHash(const char* string, int n) {
// Based on DJB2, result = result * 33 + char
uint64_t result = 9527;
for (int c = 0; c < n; c++) {
result = ((result << 5) + result) + string[c];
}
@@ -129,7 +120,7 @@ uint64_t getHostHash(void) {
uname[offset]='\0';
TRACE(NCCL_INIT,"unique hostname '%s'", uname);
return getHash(uname);
return getHash(uname, strlen(uname));
}
/* Generate a hash of the unique identifying string for this process
@@ -149,7 +140,7 @@ uint64_t getPidHash(void) {
pname[plen+len]='\0';
TRACE(NCCL_INIT,"unique PID '%s'", pname);
return getHash(pname);
return getHash(pname, strlen(pname));
}
int parseStringList(const char* string, struct netIf* ifList, int maxList) {