Use faster hash function

qHash(QString) will need to hash/loop through all the data while the new
code will only need one memcpy() and a few bit manipulations.
This commit is contained in:
Chocobo1 2020-01-27 03:49:49 +08:00 committed by sledgehammer999
parent ab6079e0d5
commit 43fe5214d2
No known key found for this signature in database
GPG key ID: 6E4A2D025B7CC9A2

View file

@ -89,5 +89,9 @@ bool BitTorrent::operator!=(const InfoHash &left, const InfoHash &right)
uint BitTorrent::qHash(const InfoHash &key, const uint seed) uint BitTorrent::qHash(const InfoHash &key, const uint seed)
{ {
#if (LIBTORRENT_VERSION_NUM < 10200)
return ::qHash(static_cast<QString>(key), seed); return ::qHash(static_cast<QString>(key), seed);
#else
return ::qHash((std::hash<lt::sha1_hash> {})(key), seed);
#endif
} }