Utils: Optimize Small String comparison a little bit

Change-Id: I798d4c399b1aced566e9b302463fd6491c04e8a1
Reviewed-by: Tobias Hunger <tobias.hunger@theqtcompany.com>
This commit is contained in:
Marco Bubke
2016-02-25 13:45:09 +01:00
parent 4ec10b55e8
commit 640d126917

View File

@@ -673,23 +673,15 @@ bool operator==(Type first, const SmallString& second) noexcept
inline
bool operator==(const SmallString& first, const SmallString& second) noexcept
{
if (Q_LIKELY(first.size() != second.size()))
return false;
const int comparison = std::memcmp(first.data(), second.data(), first.size());
return comparison == 0;
return first.size() == second.size()
&& std::memcmp(first.data(), second.data(), first.size()) == 0;
}
inline
bool operator==(const SmallString& first, const SmallStringView& second) noexcept
{
if (Q_LIKELY(first.size() != second.size()))
return false;
const int comparison = std::memcmp(first.data(), second.data(), first.size());
return comparison == 0;
return first.size() == second.size()
&& std::memcmp(first.data(), second.data(), first.size()) == 0;
}
inline