Profiling (computer programming): Difference between revisions

Content deleted Content added
No edit summary
Araud (talk | contribs)
Line 88:
* '''Automatic source level''': instrumentation added to the source code by an automatic tool according to an instrumentation policy. Example: [[Parasoft]] [[Insure++]]
* '''Intermediate language''': instrumentation added to [[Assembly language|assembly]] or decompiled [[bytecode]]s giving support for multiple higher-level source languages and avoiding (non-symbolic) binary offset re-writing issues, for example [[OpenPAT]].
* '''Compiler assisted''': [[Gprof]], ''Quantify'', [https://visualstudiogallery.msdn.microsoft.com/133d5764-b32b-4ec9-8ee8-5546eca64584 MicroProfiler] and [https://github.com/01org/IntelSEAPI/wiki Intel(R) Single Event API] use this approach. Example: ''gcc -pg ...'' for gprof, ''quantify g++ ...'', for Quantify, ''cl /Gh /GH ...'' for MicroProfiler.
* '''Binary translation''': The tool adds instrumentation to a compiled [[executable]], for example in ATOM.
* '''Runtime instrumentation''': Directly before execution the code is instrumented. The program run is fully supervised and controlled by the tool. Examples: [[Pin (Computer Program)|Pin]], [[Valgrind]], [[DynamoRIO]].