Profiling

toc
 * Home * Programming * Optimization * Profiling**

a form of [|dynamic program analysis] to determine frequency and duration of function calls inside a (chess) program, or to analyze its [|space (memory)] or [|time complexity] and (parallel) [|performance]. Profiling is achieved by [|instrumenting] either the program source code or its binary executable using a tool called a **profiler**, often integrated into runtime APIs of interpreted languages, or for compiled languages into compiler collections or processor tool sets. Most commonly, profiling information is used to find [|hot spots] and [|performance bottlenecks], and to serve as aid for program optimization. So called flat profilers compute the average call times, from the calls, but do not break down the call times based on the callee or the context, while [|call graph] profilers show the call times, and frequencies of the functions, and also the call-chains involved based on the callee.
 * Profiling**,

=PGO= [|Profile-guided optimization] (PGO) is a [|compiler optimization] which uses the results of profiling test runs of an instrumented program to optimize the final [|generated code].

=See also=
 * Debugging
 * Engine Testing
 * Logging
 * Perft
 * Search Statistics

=Postings=

1999

 * [|Profiling] by James Robertson, CCC, April 17, 1999

2000 ...

 * [|Profiling with Visual C++ 5 and 6: a story of woe] by Tom Kerrigan, CCC, January 31, 2000
 * [|profiling problem] by Martin Fierz, CCC, February 07, 2002
 * [|Profiling under gcc] by Sven Reichard, CCC, May 22, 2002
 * [|Profiling] by Federico Corigliano, CCC, January 16, 2003
 * [|Another memory latency test] by Dieter Bürssner, CCC, July 17, 2003 » Memory
 * [|performance profiling tools] by Eric Oldre, CCC, June 24, 2004

2005 ...

 * [|Profiling in Visual C++ Express] by Richard Allbert, CCC, August 17, 2008
 * [|Profiling times] by Fermin Serrano, CCC, February 06, 2009
 * [|Visual Studio Profiling Available With VS2010 Beta] by Brian Richardson, CCC, May 21, 2009
 * [|I need help, performance wall!] by Adam Berent, CCC, October 21, 2009

2010 ...

 * [|How to visualize profiler output as graph using Gprof2Dot – Code Yarns], June 24, 2013
 * [|Stockfish PGO and popcn] by Louis Zulli, CCC, July 15, 2013 » Stockfish
 * [|Getting MingW profiling working] by Tom Likens, CCC, October 27, 2013

2015 ...
> [|Re: Beginner's guide to graphical profiling] by Marco Costalba, CCC, September 10, 2016 » Stockfish
 * [|Profiling Comparisons] by Dennis Sceviour, CCC, September 06, 2015
 * [|How to speed up my engine] by Laurie Tunnicliffe, CCC, May 02, 2016
 * [|Beginner's guide to graphical profiling] by Matthew Lai, CCC, September 10, 2016 » Giraffe
 * [|Tipical cache and branch misses for a chess engine] by Nicu Ionita, CCC, September 14, 2016 » Avoiding Branches, Memory

=External Links= >> [|GitHub - jrfonseca/gprof2dot: Converts profiling output to a dot graph] by [|José Fonseca] >> [|GPROF Tutorial – How to use Linux GNU GCC Profiling Tool] >> [|Profiling GNU/Linux applications - RidgeRun Developer Connection]
 * [|Profiling (computer programming) from Wikipedia]
 * [|Computer performance from Wikipedia]
 * [|Profile-guided optimization from Wikipedia]
 * [|List of performance analysis tools from Wikipedia]
 * [|CodeXL from Wikipedia]
 * [|Gprof from Wikipedia]
 * [|Intel Parallel Studio from Wikipedia]
 * [|Valgrind from Wikipedia]
 * [|VTune from Wikipedia]
 * [|Benchmark (computing) from Wikipedia]

=References= =What links here?= include component="backlinks" page="Profiling" limit="80"
 * Up one Level**