Hi, Sergey,
thanks for the patch! See my comments.
Sergey
This patch introduces the `LUAJIT_BENCH_INIT` option to determine the
it is actually a runner for benchmark, not a command that runs before the benchmark itself.
Please rephrase.
I would rename a cmake option appropriately. LUAJIT_BENCH_EXEC/LUAJIT_BENCH_RUNNER?
Feel free to keep as is, I don't insist.
shell command to be run before the benchmark itself. It may be useful to
set taskset, etc.
---
perf/CMakeLists.txt | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/perf/CMakeLists.txt b/perf/CMakeLists.txt
index 68e561fd..c315597f 100644
--- a/perf/CMakeLists.txt
+++ b/perf/CMakeLists.txt
@@ -7,6 +7,13 @@ if(CMAKE_BUILD_TYPE STREQUAL "Debug")
"Timings may be affected.")
endif()
+# The shell command needs to be run before benchmarks are started.
+if(LUAJIT_BENCH_INIT)
+ message(STATUS
+ "The following command will run before benchmarks: '${LUAJIT_BENCH_INIT}'."
+ )
+endif()
this message is not necessary, one can see it in "ctest -V" output
+
set(PERF_OUTPUT_DIR ${PROJECT_BINARY_DIR}/perf/output)
file(MAKE_DIRECTORY ${PERF_OUTPUT_DIR})
@@ -51,7 +58,7 @@ macro(AddBench bench_name bench_path perf_suite LUA_PATH)
set(bench_out_file
${PERF_OUTPUT_DIR}/${perf_suite}/${bench_name_stripped}.json
)
- set(bench_command "${LUAJIT_BINARY} ${bench_path}")
+ set(bench_command "${LUAJIT_BENCH_INIT} ${LUAJIT_BINARY} ${bench_path}")
if(${ARGC} GREATER 4)
set(input_file ${ARGV4})
set(bench_command "${bench_command} < ${input_file}")