diff --git a/profiler/build/win32/Tracy.vcxproj b/profiler/build/win32/Tracy.vcxproj index 58d4a338..78fd69e3 100644 --- a/profiler/build/win32/Tracy.vcxproj +++ b/profiler/build/win32/Tracy.vcxproj @@ -186,6 +186,7 @@ + diff --git a/profiler/build/win32/Tracy.vcxproj.filters b/profiler/build/win32/Tracy.vcxproj.filters index 70182910..b58d4c81 100644 --- a/profiler/build/win32/Tracy.vcxproj.filters +++ b/profiler/build/win32/Tracy.vcxproj.filters @@ -299,6 +299,9 @@ server + + server + diff --git a/server/TracyCharUtil.hpp b/server/TracyCharUtil.hpp index 8b09f3bf..8a789c5e 100644 --- a/server/TracyCharUtil.hpp +++ b/server/TracyCharUtil.hpp @@ -5,6 +5,8 @@ #include #include +#define XXH_STATIC_LINKING_ONLY +#include "tracy_xxh3.h" #include "tracy_flat_hash_map.hpp" namespace tracy @@ -12,32 +14,15 @@ namespace tracy namespace charutil { -static inline uint32_t hash( const char* str ) +static inline size_t hash( const char* str ) { - uint32_t hash = 5381; - int c; - - while( ( c = *str++ ) != 0 ) - { - hash = ( ( hash << 5 ) + hash ) ^ c; - } - - return hash; + const auto sz = strlen( str ); + return XXH3_64bits( str, sz ); } -static inline uint32_t hash( const char* str, size_t sz ) +static inline size_t hash( const char* str, size_t sz ) { - uint32_t hash = 5381; - int c; - - while( sz > 0 ) - { - c = *str++; - hash = ( ( hash << 5 ) + hash ) ^ c; - sz--; - } - - return hash; + return XXH3_64bits( str, sz ); } struct Hasher