Profiling (computer programming): Difference between revisions

Content deleted Content added
Instrumentation: adding example
Tidy up some language about methodologies
Line 2:
In [[software engineering]], '''profiling''' ("program profiling", "software profiling") is a form of [[dynamic program analysis]] that measures, for example, the space (memory) or time [[Computational_complexity_theory|complexity of a program]], the [[instruction set simulator|usage of particular instructions]], or frequency and duration of function calls. The most common use of profiling information is to aid program [[optimization (computer science)|optimization]].
 
Profiling is achieved by instrumenting either the program [[source code]] or its binary executable form using a tool called a ''profiler'' (or ''code profiler''). A number of different techniques may be used by profilers, such as event-based, statistical, instrumented, and simulation methods.
 
The methodology of the profiler itself classify the profiler as event-based, as statistical, as ''instrumentation'', or as simulation.
 
== Gathering program events ==