“…These tools give raw metrics, but they do not indicate if optimizing a block of code can lead to better performance. Typically, these profiling tools report metrics to know if a memory controller [1], [2], [3], [4], [5], a cache [6], [7], [8], [9], [10], [11], a lock [12], [13], [14], [15] or the network stack [16], [17] is inefficiently used. However, these metrics indicate a saturation, but a saturation does not necessarily lead to a large slowdown, either because the access to the saturated component remains efficient or simply because the slowdown caused by the saturation has only a marginal impact on the overall performance.…”