Experimental parser optimizations

This commit is contained in:
Alex Hultman
2022-10-03 01:16:40 +02:00
parent 09a7b2f093
commit 3a53ada17d
4 changed files with 58 additions and 44 deletions
+6 -4
View File
@@ -44,12 +44,14 @@ private:
public:
bool mightHave(std::string_view key) {
return filter.test(hash1(key)) && filter.test(hash2(key)) && (key.length() < 2 || filter.test(hash3(key)));
return !key.length() || (filter.test(hash1(key)) && filter.test(hash2(key)) && (key.length() < 2 || filter.test(hash3(key))));
}
void add(std::string_view key) {
filter.set(hash1(key));
filter.set(hash2(key));
if (key.length()) {
filter.set(hash1(key));
filter.set(hash2(key));
}
if (key.length() >= 2) {
filter.set(hash3(key));
}
@@ -62,4 +64,4 @@ public:
}
#endif // UWS_BLOOMFILTER_H
#endif // UWS_BLOOMFILTER_H