diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2021-04-04 23:20:29 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2021-04-04 23:20:29 +0000 |
commit | b39b6d452ee3bb9cbe97395b41b0151e62a86215 (patch) | |
tree | 7f41c3e2e6ad73a5008a4bebd160e27229e6a2b7 /searchlib | |
parent | 36438491bdb0bfdd0c9d6e894e6ae99b9468e5ef (diff) |
Reserve size for property maps.
Diffstat (limited to 'searchlib')
5 files changed, 12 insertions, 4 deletions
diff --git a/searchlib/src/vespa/searchlib/engine/propertiesmap.cpp b/searchlib/src/vespa/searchlib/engine/propertiesmap.cpp index 4726a3b9c27..f5d4e79c0d3 100644 --- a/searchlib/src/vespa/searchlib/engine/propertiesmap.cpp +++ b/searchlib/src/vespa/searchlib/engine/propertiesmap.cpp @@ -11,6 +11,10 @@ PropertiesMap::PropertiesMap() : _propertiesMap() { } +PropertiesMap::PropertiesMap(uint32_t sz) + : _propertiesMap(sz) +{ } + PropertiesMap::~PropertiesMap() = default; fef::Properties & diff --git a/searchlib/src/vespa/searchlib/engine/propertiesmap.h b/searchlib/src/vespa/searchlib/engine/propertiesmap.h index f54b851570e..57d7dbb4d39 100644 --- a/searchlib/src/vespa/searchlib/engine/propertiesmap.h +++ b/searchlib/src/vespa/searchlib/engine/propertiesmap.h @@ -34,6 +34,7 @@ public: typedef PropsMap::const_iterator ITR; PropertiesMap(); + PropertiesMap(uint32_t sz); PropertiesMap(const PropertiesMap &) = delete; PropertiesMap & operator=(const PropertiesMap &) = delete; ~PropertiesMap(); diff --git a/searchlib/src/vespa/searchlib/engine/request.cpp b/searchlib/src/vespa/searchlib/engine/request.cpp index cb00dfcf09b..d47eeb7b25b 100644 --- a/searchlib/src/vespa/searchlib/engine/request.cpp +++ b/searchlib/src/vespa/searchlib/engine/request.cpp @@ -5,13 +5,16 @@ namespace search::engine { Request::Request(RelativeTime relativeTime) + : Request(std::move(relativeTime), 0) +{} + +Request::Request(RelativeTime relativeTime, uint32_t reservePropMaps) : _relativeTime(std::move(relativeTime)), _timeOfDoom(vespalib::steady_time::max()), dumpFeatures(false), ranking(), location(), - propertiesMap(), - stackItems(0), + propertiesMap(reservePropMaps), stackDump(), _trace(_relativeTime, 0) { diff --git a/searchlib/src/vespa/searchlib/engine/request.h b/searchlib/src/vespa/searchlib/engine/request.h index ef90e38dc3d..6375588df46 100644 --- a/searchlib/src/vespa/searchlib/engine/request.h +++ b/searchlib/src/vespa/searchlib/engine/request.h @@ -11,6 +11,7 @@ class Request { public: Request(RelativeTime relativeTime); + Request(RelativeTime relativeTime, uint32_t reservePropMaps); Request(const Request &) = delete; Request & operator =(const Request &) = delete; virtual ~Request(); @@ -44,7 +45,6 @@ public: vespalib::string ranking; vespalib::string location; PropertiesMap propertiesMap; - uint32_t stackItems; std::vector<char> stackDump; private: mutable Trace _trace; diff --git a/searchlib/src/vespa/searchlib/engine/searchrequest.cpp b/searchlib/src/vespa/searchlib/engine/searchrequest.cpp index b9f3e62afd7..fcae7ffd4f3 100644 --- a/searchlib/src/vespa/searchlib/engine/searchrequest.cpp +++ b/searchlib/src/vespa/searchlib/engine/searchrequest.cpp @@ -8,7 +8,7 @@ SearchRequest::SearchRequest() : SearchRequest(RelativeTime(std::make_unique<SteadyClock>())) {} SearchRequest::SearchRequest(RelativeTime relativeTime) - : Request(std::move(relativeTime)), + : Request(std::move(relativeTime), 5), offset(0), maxhits(10), sortSpec(), |