diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2022-12-16 23:06:34 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-16 23:06:34 +0100 |
commit | b36fdededf2cb62c5be8814f4d6bf4038dc86dfc (patch) | |
tree | a8e9890287de0d2ab15616ae8750ee09c99edcaa | |
parent | e4302310d2c61aaff8ed7b29246d232d985e70a2 (diff) | |
parent | f7d06fc8e539ba5b5cd08febe31e7498c1feafae (diff) |
Merge pull request #25281 from vespa-engine/balder/just-your-own-thread
Now all threads have a fixed stack and there is no use in creating an…
-rw-r--r-- | searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp b/searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp index 0cc70d7fa6a..7492cd45857 100644 --- a/searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp +++ b/searchlib/src/vespa/searchlib/fef/blueprintresolver.cpp @@ -297,21 +297,17 @@ BlueprintResolver::compile() { assert(_executorSpecs.empty()); // only one compilation allowed Compiler compiler(_factory, _indexEnv, _executorSpecs, _featureMap); - auto compile_task = makeLambdaTask([&]() { - compiler.probe_stack(); - for (const auto &seed: _seeds) { - auto ref = compiler.resolve_feature(seed, Blueprint::AcceptInput::ANY); - if (compiler.failed()) { - _warnings = std::move(compiler.errors); - return; - } - _seedMap.emplace(FeatureNameParser(seed).featureName(), ref); - } - }); - ThreadStackExecutor executor(1, 8_Mi); - executor.execute(std::move(compile_task)); - executor.sync(); - executor.shutdown(); + + compiler.probe_stack(); + for (const auto &seed: _seeds) { + auto ref = compiler.resolve_feature(seed, Blueprint::AcceptInput::ANY); + if (compiler.failed()) { + _warnings = std::move(compiler.errors); + break; + } + _seedMap.emplace(FeatureNameParser(seed).featureName(), ref); + } + size_t stack_usage = compiler.stack_usage(); if (stack_usage > (128_Ki)) { _warnings.emplace_back(fmt("high stack usage: %zu bytes", stack_usage)); |