RidgeRun Developer Manual - Profiling Tools - Linux Perf
WORK IN PROGRESS. Please Contact RidgeRun OR email to support@ridgerun.com if you have any questions. |
RidgeRun Developer Manual |
---|
Coding Styles |
Development Tools |
Editors |
Debugging Tools |
|
Profiling Tools |
Methodologies |
Design Patterns |
RidgeRun Developer Manual/Testing |
RidgeRun Developer Manual/Build Systems |
Contact Us |
Introduction to Linux Perf
Linux Perf is one of the most complete and accurate tools for profiling an application since it has access to kernel ABI/API. It can intercept calls and get access to the hardware counters. It is possible to determine:
- Branching: how much does the branching affect the performance
- Cache miss rates: how much the application has a good memory access pattern
- Alignment faults: same as before but related to cache line trashing
- Context switches: how much the application hides
- CPU clocks and migration: how much time the application uses the CPU in active or waiting mode, and the migration amongst cores
- Construct the call graph: description of how each function is called
In this case, we cover the tool for application optimisation, where we want to optimise only specific parts. This is crucial for applications that are unknown and need to be accelerated.