-
Notifications
You must be signed in to change notification settings - Fork 8
/
benchmark_intersection.cpp
32 lines (22 loc) · 1.32 KB
/
benchmark_intersection.cpp
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
#include <benchmark/benchmark.h>
#include "benchmark.hpp"
#include "intersection/naive.hpp"
#include "intersection/stl.hpp"
#include "intersection/branchless.hpp"
#include "intersection/sse.hpp"
#include "intersection/avx.hpp"
#include "intersection/avx2.hpp"
#include "intersection/galloping_sse.hpp"
#include "intersection/galloping_avx2.hpp"
BENCHMARK_TEMPLATE(BM_benchmark, intersect_scalar)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_TEMPLATE(BM_benchmark, intersect_scalar_stl)->RangePair(8, 8<<10, 8, 8<<10);
//BENCHMARK_TEMPLATE(BM_benchmark, intersect_scalar_stl_parallel)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_TEMPLATE(BM_benchmark, intersect_scalar_branchless)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_TEMPLATE(BM_benchmark, intersect_vector_sse)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_TEMPLATE(BM_benchmark, intersect_vector_sse_asm)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_TEMPLATE(BM_benchmark, intersect_vector_avx)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_TEMPLATE(BM_benchmark, intersect_vector_avx2)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_TEMPLATE(BM_benchmark, intersect_vector_avx2_asm)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_TEMPLATE(BM_benchmark, SIMDintersection)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_TEMPLATE(BM_benchmark, SIMDintersection_avx2)->RangePair(8, 8<<10, 8, 8<<10);
BENCHMARK_MAIN()