MCPcopy Create free account
hub / github.com/ashvardanian/less_slow.cpp / pipeline_virtual_functions

Function pipeline_virtual_functions

less_slow.cpp:4119–4134  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

4117};
4118
4119static void pipeline_virtual_functions(bm::State &state) {
4120 homogeneous_virtual_pipeline pipeline;
4121 pipeline.add_stage(std::make_unique<for_range_virtual>(pipe_start, pipe_end));
4122 pipeline.add_stage(std::make_unique<filter_virtual>(is_power_of_two));
4123 pipeline.add_stage(std::make_unique<filter_virtual>(is_power_of_three));
4124 pipeline.add_stage(std::make_unique<prime_factors_virtual>());
4125
4126 std::uint64_t sum = 0, count = 0;
4127 for (auto _ : state) {
4128 std::vector<std::uint64_t> data;
4129 pipeline.process(data);
4130 sum = std::accumulate(data.begin(), data.end(), std::uint64_t {0});
4131 count = data.size();
4132 if (count != 84 || sum != 645) state.SkipWithError("Incorrect result");
4133 }
4134}
4135
4136BENCHMARK(pipeline_virtual_functions);
4137

Callers

nothing calls this directly

Calls 5

add_stageMethod · 0.80
processMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected