summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-12-16 23:06:34 +0100
committerGitHub <noreply@github.com>2022-12-16 23:06:34 +0100
commitb36fdededf2cb62c5be8814f4d6bf4038dc86dfc (patch)
treea8e9890287de0d2ab15616ae8750ee09c99edcaa
parente4302310d2c61aaff8ed7b29246d232d985e70a2 (diff)
parentf7d06fc8e539ba5b5cd08febe31e7498c1feafae (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.cpp26
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));