tree: ac05d7ee06a044d26d16e87ae16de3bfd7fd6d32 [path history] [tgz]
  1. benchmarks_main.cpp
  2. CMakeLists.txt
  3. connection-driver.cpp
  4. message-encoding_list.cpp
  5. message-encoding_map.cpp
  6. README.md
c/benchmarks/README.md

Microbenchmarks

Compiling

-DENABLE_BENCHMARKS

Running

Suppress CPU frequency scaling

# https://www.kernel.org/doc/html/latest/admin-guide/pm/intel_pstate.html
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

Maybe reserve specific cores for the benchmark and and possibly also switch off Multi Threading (on Intel). This makes the results less noisy.

# https://llvm.org/docs/Benchmarking.html

Let Google Benchmark compute average, median, stddev of time from multiple executions

--benchmark_repetitions=9

Profiling

sudo sh -c 'echo 1 > /proc/sys/kernel/perf_event_paranoid'
sudo sh -c 'echo 0 > /proc/sys/kernel/kptr_restrict'