aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2021-04-04 23:20:29 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2021-04-04 23:20:29 +0000
commitb39b6d452ee3bb9cbe97395b41b0151e62a86215 (patch)
tree7f41c3e2e6ad73a5008a4bebd160e27229e6a2b7 /searchlib
parent36438491bdb0bfdd0c9d6e894e6ae99b9468e5ef (diff)
Reserve size for property maps.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/vespa/searchlib/engine/propertiesmap.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/engine/propertiesmap.h1
-rw-r--r--searchlib/src/vespa/searchlib/engine/request.cpp7
-rw-r--r--searchlib/src/vespa/searchlib/engine/request.h2
-rw-r--r--searchlib/src/vespa/searchlib/engine/searchrequest.cpp2
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(),