diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2020-02-28 10:06:14 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2020-02-28 10:06:14 +0000 |
commit | 821cbc57fcd370ae067344c329c09d1deb1700f0 (patch) | |
tree | a6d70428ee3ded7182c4dcfaedfda9c6bc434806 /searchlib | |
parent | 40e67dea90605c430fae7e010090886f137d5107 (diff) |
Wire in control of executor type.
Diffstat (limited to 'searchlib')
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 |