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.
# 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 ](https://www.intel.com/content/www/us/en/products/boards-kits/nuc/kits/nuc7cjyh.html ).
## Catch2's benchmarking tools
Using [catch2 ](https://github.com/catchorg/Catch2 ), an example output of `performance_measuring_test` :
![tests.png ](https://jenkins.matetelki.eu/job/gitea.matetelki.eu/job/performance_measuring/job/master/lastSuccessfulBuild/artifact/tests.png )
## Flamegraph
An interactive [flamegraph ](https://github.com/brendangregg/FlameGraph ) can be generated to visualize [perf ](http://www.brendangregg.com/perf.html )'s measurements, where the callgraph can be traversed.
![flamegraph.svg ](https://jenkins.matetelki.eu/job/gitea.matetelki.eu/job/performance_measuring/job/master/lastSuccessfulBuild/artifact/flamegraph.svg )