Scripts and tools to measure performance.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
denes 669431d098
gitea.matetelki.eu/performance_measuring/master This commit looks good Details
convert needs an '@' in front of file names.
5 years ago
Catch2@815f99541d Adding Catch2 as submodule, and abandoning main.cpp 5 years ago
FlameGraph@1b1c6deede Generating flame graph 5 years ago
.gitignore Adding forgotten generate_flame_graph.sh 5 years ago
.gitmodules Generating flame graph 5 years ago
CMakeLists.txt Generating flame graph 5 years ago
Jenkinsfile convert needs an '@' in front of file names. 5 years ago
LICENSE Initial commit 5 years ago
README.md Updating the readme file 5 years ago
catch2_test1.cpp Generating flame graph 5 years ago
dummy_lib.hpp Generating flame graph 5 years ago
generate_flame_graph.sh Publishing tests.png and flamegraph.svg 5 years ago
main.cpp Generating flame graph 5 years ago

README.md

performance_measuring

Scripts and tools to measure performance.

This repo meant to be a sandbox.

The tested dummy algorithm

The measured algorithms are 3 variations on counting the smallest element in a array.

  • C style, count-as-go: O(n)
  • C++ std::min_element then std::count: O(n) + O(n)
  • C++ std::sort then std::upper_bound: O(n log n) + O(n)

Environment

The array contains 10k randomly generated integers [0, 1000].

The machine which generated the results is an Intel NUC 7CJYH.

Catch2's benchmarking tools

Using catch2, an example output of performance_measuring_test:

tests.png

Flamegraph

An interactive flamegraph can be generated to visualize perf's measurements, where the callgraph can be traversed.

flamegraph.svg