@@ -16,66 +16,69 @@ endif()
1616set (CMAKE_CXX_STANDARD 17)
1717set (LIBS "${LIBS} Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a" )
1818
19- SET (BINARIES "bench_bst_insert;bench_bst_move;bench_bst_delete;bench_bst_search;bench_dst_insert;bench_dst_delete;bench_dst_move;run_all;bench_bst_erase" )
20-
21- FOREACH (BINARY ${BINARIES} )
22- add_executable (${BINARY} ${BINARY} .cpp random.cpp)
23- add_dependencies (${BINARY} gbenchmark)
24- target_link_libraries (${BINARY} Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a)
25-
26- if (PAPI_FOUND)
27- add_executable (${BINARY} _papi ${BINARY} .cpp random.cpp)
28- add_dependencies (${BINARY} _papi gbenchmark)
29- target_link_libraries (${BINARY} _papi Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a ${PAPI_LIBRARIES} )
30- set_target_properties (${BINARY} _papi PROPERTIES COMPILE_DEFINITIONS "USEPAPI" )
31- endif ()
32- ENDFOREACH ()
19+ # Normal
20+ add_executable (run_all run_all.cpp random.cpp)
21+ add_dependencies (run_all gbenchmark)
22+ target_link_libraries (run_all Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a)
23+
24+ if (PAPI_FOUND)
25+ add_executable (run_all_papi run_all.cpp random.cpp)
26+ add_dependencies (run_all_papi gbenchmark)
27+ target_link_libraries (run_all_papi Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a ${PAPI_LIBRARIES} )
28+ set_target_properties (run_all_papi PROPERTIES COMPILE_DEFINITIONS "USEPAPI" )
29+ endif ()
3330
34- SET (ZIPF_BINARIES "bench_bst_move;bench_bst_insert;bench_bst_search;bench_bst_erase" )
35- FOREACH (BINARY ${ZIPF_BINARIES} )
36- add_executable (${BINARY} _zipf ${BINARY} .cpp random.cpp)
37- add_dependencies (${BINARY} _zipf gbenchmark)
38- target_link_libraries (${BINARY} _zipf Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a)
39- set_target_properties (${BINARY} _zipf PROPERTIES COMPILE_DEFINITIONS "USEZIPF" )
40-
41- if (PAPI_FOUND)
42- add_executable (${BINARY} _zipf_papi ${BINARY} .cpp random.cpp)
43- add_dependencies (${BINARY} _zipf_papi gbenchmark)
44- target_link_libraries (${BINARY} _zipf_papi Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a ${PAPI_LIBRARIES} )
45- target_compile_definitions (${BINARY} _zipf_papi PUBLIC USEPAPI USEZIPF)
46- endif ()
47- ENDFOREACH ()
31+ # Zipf
32+ add_executable (run_all_zipf run_all.cpp random.cpp)
33+ add_dependencies (run_all_zipf gbenchmark)
34+ target_link_libraries (run_all_zipf Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a)
35+ set_target_properties (run_all_zipf PROPERTIES COMPILE_DEFINITIONS "USEZIPF" )
36+
37+ if (PAPI_FOUND)
38+ add_executable (run_all_zipf_papi run_all.cpp random.cpp)
39+ add_dependencies (run_all_zipf_papi gbenchmark)
40+ target_link_libraries (run_all_zipf_papi Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a ${PAPI_LIBRARIES} )
41+ target_compile_definitions (run_all_zipf_papi PUBLIC USEPAPI USEZIPF)
42+ endif ()
4843
49- SET (SKEWED_BINARIES "bench_bst_move;bench_bst_insert;bench_bst_search;bench_bst_erase" )
50- FOREACH (BINARY ${SKEWED_BINARIES} )
51- add_executable (${BINARY} _skewed ${BINARY} .cpp random.cpp)
52- add_dependencies (${BINARY} _skewed gbenchmark)
53- target_link_libraries (${BINARY} _skewed Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a)
54- set_target_properties (${BINARY} _skewed PROPERTIES COMPILE_DEFINITIONS "USESKEWED" )
55-
56- if (PAPI_FOUND)
57- add_executable (${BINARY} _skewed_papi ${BINARY} .cpp random.cpp)
58- add_dependencies (${BINARY} _skewed_papi gbenchmark)
59- target_link_libraries (${BINARY} _skewed_papi Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a ${PAPI_LIBRARIES} )
60- target_compile_definitions (${BINARY} _skewed_papi PUBLIC USEPAPI USESKEWED)
61- endif ()
62- ENDFOREACH ()
44+ # Presorted
45+ add_executable (run_all_presorted run_all.cpp random.cpp)
46+ add_dependencies (run_all_presorted gbenchmark)
47+ target_link_libraries (run_all_presorted Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a)
48+ set_target_properties (run_all_presorted PROPERTIES COMPILE_DEFINITIONS "PRESORT" )
49+
50+ if (PAPI_FOUND)
51+ add_executable (run_all_presorted_papi run_all.cpp random.cpp)
52+ add_dependencies (run_all_presorted_papi gbenchmark)
53+ target_link_libraries (run_all_presorted_papi Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a ${PAPI_LIBRARIES} )
54+ target_compile_definitions (run_all_presorted_papi PUBLIC USEPAPI PRESORT)
55+ endif ()
56+
57+ # Skewed
58+ add_executable (run_all_skewed run_all.cpp random.cpp)
59+ add_dependencies (run_all_skewed gbenchmark)
60+ target_link_libraries (run_all_skewed Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a)
61+ set_target_properties (run_all_skewed PROPERTIES COMPILE_DEFINITIONS "USESKEWED" )
62+
63+ if (PAPI_FOUND)
64+ add_executable (run_all_skewed_papi run_all.cpp random.cpp)
65+ add_dependencies (run_all_skewed_papi gbenchmark)
66+ target_link_libraries (run_all_skewed_papi Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a ${PAPI_LIBRARIES} )
67+ target_compile_definitions (run_all_skewed_papi PUBLIC USEPAPI USESKEWED)
68+ endif ()
6369
64- SET (PRESORTED_BINARIES "bench_bst_move;bench_bst_insert;bench_bst_erase;bench_bst_delete" )
65- FOREACH (BINARY ${PRESORTED_BINARIES} )
66- add_executable (${BINARY} _presorted ${BINARY} .cpp random.cpp)
67- add_dependencies (${BINARY} _presorted gbenchmark)
68- target_link_libraries (${BINARY} _presorted Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a)
69- set_target_properties (${BINARY} _presorted PROPERTIES COMPILE_DEFINITIONS "PRESORT" )
70-
71- if (PAPI_FOUND)
72- add_executable (${BINARY} _presorted_papi ${BINARY} .cpp random.cpp)
73- add_dependencies (${BINARY} _presorted_papi gbenchmark)
74- target_link_libraries (${BINARY} _presorted_papi Threads::Threads ${GBENCHMARK_LIBS_DIR} /libbenchmark.a ${PAPI_LIBRARIES} )
75- target_compile_definitions (${BINARY} _presorted_papi PUBLIC USEPAPI PRESORT)
76- endif ()
70+
71+ # Create BST scripts
72+ set (BENCH_DATASTRUCTURE "BST" )
73+ set (BST_OPERATIONS "Insert;Delete;Move;Erase" )
74+ set (BST_POSTFIXES ";_zipf;_skewed;_presorted" )
75+ FOREACH (OPERATION ${BST_OPERATIONS} )
76+ FOREACH (POSTFIX ${BST_POSTFIXES} )
77+ configure_file (${PROJECT_SOURCE_DIR} /../scripts/benchmark/benchmark.sh.in ${CMAKE_CURRENT_BINARY_DIR} /bench_${BENCH_DATASTRUCTURE} _${OPERATION}${POSTFIX} )
78+ ENDFOREACH ()
7779ENDFOREACH ()
7880
81+
7982add_executable (pathlengths pathlengths.cpp random.cpp)
8083add_executable (wbtree_balance wbtree_balance.cpp)
8184add_executable (count_rotations count_rotations.cpp)
0 commit comments