Advanced | Help | Encyclopedia
Directory


Profiler (computer science)

In computer programming, a profiler is a computer program that can track the performance of another program by checking informations collected while the code is executed . A profiler can identify the time used by or frequency of use of various portions of a the second program. Typically this information is used to identify those portions of the second program that consume the most time. These time consuming parts are then targeted for optimization. Also a profiler can be useful for debugging. Like a debugger, it is often used with a front-end (front-ends to profilers are more specific to each profiler).

Profilers vary in accuracy and specificity. Some profilers operate by Sampling (statistics). A sampling profiler probes the second program at regular intervals and notes the current location in the second program. Sampling profiles are typically less accurate and specific, but allow the second program to run at near full speed. Some profilers instrument the second program with additional instructions to collect the required information. Instrumenting the program can cause changes in the performance of the program, causing inaccurate results. Instrumenting can potentially be very specific but slows down the second program as more specific information is collected.

It is common for computer programmers to "hand profile" software, typically by hand instrumenting their software.

Table of contents

Examples of profilers

Open-source

under Linux/Unix

  • gprof The GNU Profiler, part of GNU Binutils (which are part of the GNU project); you can use some visualisation tools called VCG tools and combine both of them using Call Graph Drawing Interface (CGDI); a second solution is kprof. More for C/C++ but works well for other languages.
  • FunctionCheck is a profiler that was created "because the well known profiler gprof have some limitations". using special GCC tricks. kprof is a front-end. For C++/C.
  • Valgrind is a GPL'd system for debugging and profiling x86-Linux programs. You can automatically detect many memory management and threading bugs. alleyoop is a front-end for valgrind. It works for any language and the assembler.

Proprietary

under Windows

  • glowcode excellent profiler for windows (the current version is 21 days full-featured free of charge trial)

See also

External links








Links: Addme | Keyword Research | Paid Inclusion | Femail | Software | Completive Intelligence

Add URL | About Slider | FREE Slider Toolbar - Simply Amazing
Copyright © 2000-2008 Slider.com. All rights reserved.
Content is distributed under the GNU Free Documentation License.