TIP: Time-Proportional Instruction Profiling
Björn Gottschall, Lieven Eeckhout, Magnus Jahre
Abstract
A fundamental part of developing software is to understand what the application spends time on. This is typically determined using a performance profiler which essentially captures how execution time is distributed across the instructions of a program. At the same time, the highly parallel execution model of modern high-performance processors means that it is difficult to reliably attribute time to instructions — resulting in performance analysis being unnecessarily challenging.
Topics & Concepts
Profiling (computer programming)Computer scienceOperating systemParallel Computing and Optimization TechniquesSoftware System Performance and ReliabilityDistributed systems and fault tolerance