#include #include "common.h" constexpr unsigned samples = 12, iterations = 10, cores = 4; constexpr std::size_t vecSize = 100'000; constexpr int minValue = -250, maxValue = +250; BASELINE(ExecFarmSel, Sequential, samples, iterations) { auto f = alsk::edsl::implement(bench::exprFarmSel); f.skeleton.task<0>().size = vecSize; f(minValue, maxValue); } BENCHMARK(ExecFarmSel, FirstLevelEqui, samples, iterations) { auto f = alsk::edsl::implement(bench::exprFarmSel); f.executor.cores = cores; f.skeleton.task<0>().size = vecSize; f(minValue, maxValue); } BENCHMARK(ExecFarmSel, FirstLevelGreedy, samples, iterations) { auto f = alsk::edsl::implement(bench::exprFarmSel); f.executor.cores = cores; f.skeleton.task<0>().size = vecSize; f(minValue, maxValue); } BENCHMARK(ExecFarmSel, FirstLevelNoOpti, samples, iterations) { auto f = alsk::edsl::implement(bench::exprFarmSel); f.executor.cores = cores; f.skeleton.task<0>().size = vecSize; f(minValue, maxValue); } BENCHMARK(ExecFarmSel, DynamicPool, samples, iterations) { auto f = alsk::edsl::implement(bench::exprFarmSel); f.executor.cores = cores; f.skeleton.task<0>().size = vecSize; f(minValue, maxValue); } BENCHMARK(ExecFarmSel, StaticPool, samples, iterations) { auto f = alsk::edsl::implement(bench::exprFarmSel); f.executor.cores = cores; f.skeleton.task<0>().size = vecSize; f(minValue, maxValue); } BENCHMARK(ExecFarmSel, StaticPoolId, samples, iterations) { auto f = alsk::edsl::implement(bench::exprFarmSel); f.executor.cores = cores; f.skeleton.task<0>().size = vecSize; f(minValue, maxValue); } BENCHMARK(ExecFarmSel, StaticThread, samples, iterations) { auto f = alsk::edsl::implement(bench::exprFarmSel); f.executor.cores = cores; f.skeleton.task<0>().size = vecSize; f(minValue, maxValue); }