diff options
Diffstat (limited to 'third_party/immer/benchmark/CMakeLists.txt')
-rw-r--r-- | third_party/immer/benchmark/CMakeLists.txt | 128 |
1 files changed, 0 insertions, 128 deletions
diff --git a/third_party/immer/benchmark/CMakeLists.txt b/third_party/immer/benchmark/CMakeLists.txt deleted file mode 100644 index 0f9061aa3cd3..000000000000 --- a/third_party/immer/benchmark/CMakeLists.txt +++ /dev/null @@ -1,128 +0,0 @@ - -# Config -# ====== - -option(CHECK_BENCHMARKS "Run benchmarks on check target" off) -option(BENCHMARK_DISABLE_GC "Disable gc during a measurement") - -set(BENCHMARK_PARAM "N:1000" CACHE STRING "Benchmark parameters") -set(BENCHMARK_SAMPLES "20" CACHE STRING "Benchmark samples") - -# Dependencies -# ============ - -find_package(RRB) - -if (NOT RRB_FOUND) - message(STATUS "Disabling benchmarks") - return() -endif() - -# These are expected to be in the include path, the nix-shell -# environment installs them: -# -# https://github.com/marcusz/steady -# https://github.com/deepsea-inria/chunkedseq.git -# https://github.com/rsms/immutable-cpp.git - -# Targets -# ======= - -add_custom_target(benchmarks - COMMENT "Build all benchmarks.") - -execute_process( - COMMAND git log -1 --format=%h - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE immer_git_commit_hash - OUTPUT_STRIP_TRAILING_WHITESPACE) - -execute_process( - COMMAND git status --porcelain - WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} - OUTPUT_VARIABLE immer_git_status - OUTPUT_STRIP_TRAILING_WHITESPACE) - -if (NOT immer_git_status STREQUAL "") - set(immer_git_commit_hash "${immer_git_commit_hash}+") -endif() - -site_name(immer_hostname) - -get_filename_component(immer_compiler_name "${CMAKE_CXX_COMPILER}" NAME) - -set(immer_benchmark_report_base_dir "${CMAKE_SOURCE_DIR}/reports") -set(immer_benchmark_report_dir "${immer_benchmark_report_base_dir}/report_\ -${immer_git_commit_hash}_\ -${immer_hostname}_\ -${immer_compiler_name}_\ -${BENCHMARK_PARAM}_\ -s${BENCHMARK_SAMPLES}") - -if(DISABLE_FREE_LIST) - set(immer_benchmark_report_dir "${immer_benchmark_report_dir}_nofl") -endif() - -if(DISABLE_THREAD_SAFETY) - set(immer_benchmark_report_dir "${immer_benchmark_report_dir}_nots") -endif() - -if(BENCHMARK_DISABLE_GC) - set(immer_benchmark_report_dir "${immer_benchmark_report_dir}_nogc") -endif() - -if(CHECK_BENCHMARKS) - add_dependencies(check benchmarks) -endif() - -add_custom_target(benchmark-report-dir - COMMAND ${CMAKE_COMMAND} - -E make_directory ${immer_benchmark_report_dir}) - -file(GLOB_RECURSE immer_benchmarks "*.cpp") -foreach(_file IN LISTS immer_benchmarks) - immer_target_name_for(_target _output "${_file}") - add_executable(${_target} EXCLUDE_FROM_ALL "${_file}") - set_target_properties(${_target} PROPERTIES OUTPUT_NAME ${_output}) - add_dependencies(benchmarks ${_target}) - add_dependencies(${_target} benchmark-report-dir) - target_compile_options(${_target} PUBLIC -Wno-unused-function) - target_compile_definitions(${_target} PUBLIC - NONIUS_RUNNER - IMMER_BENCHMARK_LIBRRB=1 - IMMER_BENCHMARK_STEADY=1 - IMMER_BENCHMARK_EXPERIMENTAL=0 - IMMER_BENCHMARK_DISABLE_GC=${BENCHMARK_DISABLE_GC} - IMMER_BENCHMARK_BOOST_COROUTINE=${ENABLE_BOOST_COROUTINE}) - target_link_libraries(${_target} PUBLIC - immer-dev - ${RRB_LIBRARIES}) - target_include_directories(${_target} SYSTEM PUBLIC - ${RRB_INCLUDE_DIR}) - if(CHECK_BENCHMARKS) - add_test("benchmark/${_output}" "${CMAKE_SOURCE_DIR}/tools/with-tee.bash" - ${immer_benchmark_report_dir}/${_target}.out - "${CMAKE_CURRENT_BINARY_DIR}/${_output}" -v - -t ${_target} - -r html - -s ${BENCHMARK_SAMPLES} - -p ${BENCHMARK_PARAM} - -o ${immer_benchmark_report_dir}/${_target}.html) - endif() -endforeach() - -set(immer_ssh_method - ssh -p 5488 - -o StrictHostKeyChecking=no - -i ${CMAKE_SOURCE_DIR}/tools/travis/ssh-key) - -add_custom_target(upload-benchmark-reports - COMMAND - rsync -av -e \"${immer_ssh_method}\" - ${immer_benchmark_report_base_dir} - raskolnikov@sinusoid.es:public/misc/immer/) - -add_custom_target(copy-benchmark-reports - COMMAND - rsync -av ${immer_benchmark_report_base_dir} - ~/public/misc/immer/) |