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