summaryrefslogtreecommitdiffstats
path: root/searchlib
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2020-02-28 10:06:14 +0000
committerHenning Baldersheim <balder@yahoo-inc.com>2020-02-28 10:06:14 +0000
commit821cbc57fcd370ae067344c329c09d1deb1700f0 (patch)
treea6d70428ee3ded7182c4dcfaedfda9c6bc434806 /searchlib
parent40e67dea90605c430fae7e010090886f137d5107 (diff)
Wire in control of executor type.
Diffstat (limited to 'searchlib')
-rw-r--r--searchlib/src/tests/common/sequencedtaskexecutor/sequencedtaskexecutor_benchmark.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.cpp4
-rw-r--r--searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.h4
3 files changed, 6 insertions, 6 deletions
diff --git a/searchlib/src/tests/common/sequencedtaskexecutor/sequencedtaskexecutor_benchmark.cpp b/searchlib/src/tests/common/sequencedtaskexecutor/sequencedtaskexecutor_benchmark.cpp
index 2708399f653..9491617c135 100644
--- a/searchlib/src/tests/common/sequencedtaskexecutor/sequencedtaskexecutor_benchmark.cpp
+++ b/searchlib/src/tests/common/sequencedtaskexecutor/sequencedtaskexecutor_benchmark.cpp
@@ -11,7 +11,7 @@ int main(int argc, char *argv[]) {
unsigned long numTasks = 1000000;
unsigned numThreads = 4;
unsigned taskLimit = 1000;
- SequencedTaskExecutor::Optimize optimize = SequencedTaskExecutor::Optimize::LATENCY;
+ vespalib::Executor::OptimizeFor optimize = vespalib::Executor::OptimizeFor::LATENCY;
std::atomic<long> counter(0);
if (argc > 1)
numTasks = atol(argv[1]);
@@ -20,7 +20,7 @@ int main(int argc, char *argv[]) {
if (argc > 3)
taskLimit = atoi(argv[3]);
if (argc > 4)
- optimize = SequencedTaskExecutor::Optimize::THROUGHPUT;
+ optimize = vespalib::Executor::OptimizeFor::THROUGHPUT;
auto executor = SequencedTaskExecutor::create(numThreads, taskLimit, optimize);
for (unsigned long tid(0); tid < numTasks; tid++) {
diff --git a/searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.cpp b/searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.cpp
index 32b515c8efc..7b0c30ec9d8 100644
--- a/searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.cpp
+++ b/searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.cpp
@@ -17,12 +17,12 @@ constexpr uint32_t stackSize = 128 * 1024;
std::unique_ptr<ISequencedTaskExecutor>
-SequencedTaskExecutor::create(uint32_t threads, uint32_t taskLimit, Optimize optimize)
+SequencedTaskExecutor::create(uint32_t threads, uint32_t taskLimit, OptimizeFor optimize)
{
auto executors = std::make_unique<std::vector<std::unique_ptr<vespalib::SyncableThreadExecutor>>>();
executors->reserve(threads);
for (uint32_t id = 0; id < threads; ++id) {
- if (optimize == Optimize::THROUGHPUT) {
+ if (optimize == OptimizeFor::THROUGHPUT) {
executors->push_back(std::make_unique<SingleExecutor>(taskLimit));
} else {
executors->push_back(std::make_unique<BlockingThreadStackExecutor>(1, stackSize, taskLimit));
diff --git a/searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.h b/searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.h
index 0f0be52ecdd..8568901006f 100644
--- a/searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.h
+++ b/searchlib/src/vespa/searchlib/common/sequencedtaskexecutor.h
@@ -22,8 +22,8 @@ class SequencedTaskExecutor final : public ISequencedTaskExecutor
SequencedTaskExecutor(std::unique_ptr<std::vector<std::unique_ptr<vespalib::SyncableThreadExecutor>>> executor);
public:
- enum class Optimize {LATENCY, THROUGHPUT};
using ISequencedTaskExecutor::getExecutorId;
+ using OptimizeFor = vespalib::Executor::OptimizeFor;
~SequencedTaskExecutor();
@@ -36,7 +36,7 @@ public:
* Note that if you choose Optimize::THROUGHPUT, you must ensure only a single producer, or synchronize on the outside.
*/
static std::unique_ptr<ISequencedTaskExecutor>
- create(uint32_t threads, uint32_t taskLimit = 1000, Optimize optimize = Optimize::LATENCY);
+ create(uint32_t threads, uint32_t taskLimit = 1000, OptimizeFor optimize = OptimizeFor::LATENCY);
};
} // namespace search