
UCL for Code in Research
The companion podcast for courses on programming from the Advanced Research Computing Centre of the University College of London, UK.
UCL for Code in Research
7/10 Oh please, make it faster...performance in C++
•
Peter Schmidt
•
Season 1
•
Episode 7
How can we measure the performance (run-time, memory usage etc) of our C++ code? And what does performance mean, anyway. These and other questions are the topic of this episode - with my guest Klaus Iglberger, C++ engineer, tutor and mentor.
Memory
- https://en.wikipedia.org/wiki/Non-uniform_memory_access something about memory access
- https://dl.acm.org/doi/10.1145/216585.216588 Ań article on 'Hitting the memory wall' how fast can memory access be?
- https://www.ibm.com/docs/en/xl-c-and-cpp-aix/13.1.3?topic=performance-managing-memory-efficiently-c-only what can we do to make memory usage more efficient
Tools
- https://valgrind.org Valgrind profiler
- https://www.intel.com/content/www/us/en/developer/tools/oneapi/vtune-profiler.html vtune profiler
- https://ftp.gnu.org/old-gnu/Manuals/gprof-2.9.1/html_mono/gprof.html gprof profiler from GNU
- https://quick-bench.com Quick online Benchmarking tool
- https://godbolt.org see what your compiler actually does
- https://github.com/google/googletest Google C++ test framework
- https://github.com/boost-ext/ut UT test framework
- https://github.com/google/benchmark Google benchmark tool
- https://github.com/catchorg/Catch2 catch2 framework
- https://learn.microsoft.com/en-us/visualstudio/profiling Profiling with Visual Studio
Misc
- https://medium.com/swlh/reliable-performance-testing-in-c-1df7a3ba398 article on performance testing
- https://scholarworks.umt.edu/cgi/viewcontent.cgi?referer=&httpsredir=1&article=1375&context=tme Historical review of complexity evaluations
- https://web.mit.edu/16.070/www/lecture/big_o.pdf The Big O Notation
This podcast is brought to you by the Advanced Research Computing Centre of the University College London, UK.
Producer and Host: Peter Schmidt