summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-06-29 10:30:50 +0200
committerGitHub <noreply@github.com>2022-06-29 10:30:50 +0200
commit676eda6e9914067da5dd26c9dc19e5ee34622c59 (patch)
tree5d04836745510778746f14da29dd14d51434871b
parent1dff254213b5977d1196e0160de82a582a623a72 (diff)
parent8287b37e94bd2357871a7dabea9724efd88fa827 (diff)
Merge pull request #23266 from vespa-engine/balder/avoid-strlen
Avoid strlen when you already know ths length of the string.
-rw-r--r--searchlib/src/vespa/searchlib/fef/objectstore.cpp4
-rw-r--r--vespalib/src/vespa/vespalib/stllike/hash_fun.h4
2 files changed, 3 insertions, 5 deletions
diff --git a/searchlib/src/vespa/searchlib/fef/objectstore.cpp b/searchlib/src/vespa/searchlib/fef/objectstore.cpp
index 2da08e2915d..4cf185ad55e 100644
--- a/searchlib/src/vespa/searchlib/fef/objectstore.cpp
+++ b/searchlib/src/vespa/searchlib/fef/objectstore.cpp
@@ -2,8 +2,7 @@
#include "objectstore.h"
#include <vespa/vespalib/stllike/hash_map.hpp>
-namespace search {
-namespace fef {
+namespace search::fef {
ObjectStore::ObjectStore() :
_objectMap()
@@ -37,4 +36,3 @@ ObjectStore::get(const vespalib::string & key) const
}
}
-}
diff --git a/vespalib/src/vespa/vespalib/stllike/hash_fun.h b/vespalib/src/vespa/vespalib/stllike/hash_fun.h
index 4900fcd5a2b..daedddbba1b 100644
--- a/vespalib/src/vespa/vespalib/stllike/hash_fun.h
+++ b/vespalib/src/vespa/vespalib/stllike/hash_fun.h
@@ -69,10 +69,10 @@ size_t hashValue(const char *str) noexcept;
size_t hashValue(const void *str, size_t sz) noexcept;
struct hash_strings {
- size_t operator() (const vespalib::string & arg) const noexcept { return hashValue(arg.c_str()); }
+ size_t operator() (const vespalib::string & arg) const noexcept { return hashValue(arg.data(), arg.size()); }
size_t operator() (vespalib::stringref arg) const noexcept { return hashValue(arg.data(), arg.size()); }
size_t operator() (const char * arg) const noexcept { return hashValue(arg); }
- size_t operator() (const std::string& arg) const noexcept { return hashValue(arg.c_str()); }
+ size_t operator() (const std::string& arg) const noexcept { return hashValue(arg.data(), arg.size()); }
};
template<> struct hash<const char *> : hash_strings { };