aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/postinglistbm/stress_runner.h
blob: 4b2807d5b6efe5cbe1eaaf8ce021994cf169e20b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#pragma once

#include <cstdint>
#include <string>
#include <vector>

namespace vespalib { class Rand48; }

namespace search::fakedata { class FakeWordSet; }

namespace postinglistbm {

class StressRunner {
public:
    enum class OperatorType {
        Direct,
        And,
        Or
    };

    static void run(vespalib::Rand48 &rnd,
                    search::fakedata::FakeWordSet &wordSet,
                    const std::vector<std::string> &postingTypes,
                    OperatorType operatorType,
                    uint32_t loops,
                    uint32_t skipCommonPairsRate,
                    uint32_t numTasks,
                    uint32_t stride,
                    bool unpack);
};

}