Difference between revisions of "FPProfiler"

From Lazarus wiki
Jump to navigationJump to search
Line 1: Line 1:
 
== Introduction ==
 
== Introduction ==
An FPC native profiler initially developed by Darius Blaszyk.  
+
The Free Pascal Profiler is an effort to create an FPC native profiler,
 +
deployable on all platforms and architectures the Free Pascal compiler
 +
itself supports. It was initially developed by Darius Blaszyk.
 +
 
 +
Free Pascal Profiler conists of two tools (fpp and fppview) and some units
 +
that contain the profiling code that needs to be linked in.
 +
 
 +
=== FPP ===
 +
You pass the same parameters to FPP as you would to FPC to compile your
 +
project. FPP then scans your source code, and inserts profiling code in
 +
each begin..end block. It also ammends the uses clause to link in the
 +
fpprof unit. Once done, it compiles your project which now includes the
 +
profiling code. After that it restores your units to there original state.
 +
 
 +
=== FPPView ===
 +
When your run your program that contains the profiling code, it generates
 +
an xml file containing all the profiling information. FPP View reads this xml file
 +
and generates reports from it. Call counts, timing and call graphs are
 +
supported at the moment.
  
 
== Installing ==
 
== Installing ==

Revision as of 21:37, 13 September 2010

Introduction

The Free Pascal Profiler is an effort to create an FPC native profiler, deployable on all platforms and architectures the Free Pascal compiler itself supports. It was initially developed by Darius Blaszyk.

Free Pascal Profiler conists of two tools (fpp and fppview) and some units that contain the profiling code that needs to be linked in.

FPP

You pass the same parameters to FPP as you would to FPC to compile your project. FPP then scans your source code, and inserts profiling code in each begin..end block. It also ammends the uses clause to link in the fpprof unit. Once done, it compiles your project which now includes the profiling code. After that it restores your units to there original state.

FPPView

When your run your program that contains the profiling code, it generates an xml file containing all the profiling information. FPP View reads this xml file and generates reports from it. Call counts, timing and call graphs are supported at the moment.

Installing

You can get the latest sources from SVN here:

 http://svn.freepascal.org/svn/fpcprojects/fpprofiler

Platforms / architectures

Because it's completely FPC native it should work on all platforms and architectures that FPC supports.