ProDelphi - Features

Last Update of this page: January/16/2000

Amount of measured methods:

Assembler procedures / functions:
Supported in the Professional Version.

Conditional compilation:
Fully supported. Compiler symbols and switches are read from the compilers option file (DOF).

Customer suggestions:
Many customer suggestions have been implemented in ProDelphi in the last two versions.

Compiler versions:
ProDelphi supports Delphi 2/3/4 and 5.

Documentation:
ProDelphi comes with a real User Guide (and not with a slim online help).

Exclusion of parts of the program from measurement:
Units or Include files:

Parts of a unit or an include file: Automatic exclusion: Granularity:
ProDelphi measure in CPU-cycles. The smallest measurable duration is 1 CPU-cycle. This means that on a Pentium with 500 MHz the smalest neasurable duration is 0.002 µs

Handling of idle times:
Idletimes produced by some Windows-API calls are not measured, also idletimes of Delphi calls. See list of handled functions in the manual.

History function:
ProDelphi comes with a built-in history function. The viewer shows by a colored grid, which functions got faster and which got slower since the last storing of results into a history file. By a mouse click on a result line of the viewers grid, the excact time is displayed for the clicked procedure.

Industrial approvement:
See my homepage/authors activites/VICOS P500.

Integration into the Delphi tools menu:
If ProDelphi is installed with the setup program, it is automatically integrated into the Delphi tools menu.

Local Procedures:
Fully supported.

Measurement accuracy:
ProDelphi is measuring very accurately. The measurement overhead is automatically removed from the measured times. A sophisticated algorithym calculates the runtime used for measurement at initialization time. You can easily check the accuracy of ProDelphi by downloading the profiler tester. It consists of two programs: One, so to say, manually measures the run-time of a few procedures and displays the result. The second program is the same without measuring, it has to be profiled. Compare the real runtime with the measurement result of ProDelphi.

Measurement results:
The measured durations are displayed either in CPU-Cycles or in a variable time format. Following time formats are automatically selected:

Measuring programs with threads:
Supported, but with less accuracy.

Measuring runtimes in DLL's:
Fully supported

Multiple profiling directories:
Fully supported. ProDelphi reads the options file (DOF) of Delphi and automatically scans all directories in the search path + the directory of the DPR-file.

Online operating the measurement:
Measurement can be switched on and off at the programs runtime, also results can be stored online. This speeds up the opimization process.

Object orientation:
Specially supported by the feature of adding the runtimes of all methods with the same name (if the used object is the same).
Example: A method 'LoadFromDisk' calls the method 'LoadFromDisk' of the inherited class. In this case the runtimes of both classes will be added.

Operating systems:
ProDelphi is compatible to Windows 95/98 and Windows NT.

Optimization option:
The optimization of the Delphi compiler is automatically deactivated if the user forgets this. This guaranties high measurement accuracy.

Programming-API:
Measurement can be switched on and off at runtime. Intermediate results can be stored on disk.

Security:
ProDelphi inserts statements into the source files. If this process has a bug or in case of power failure, the sources might be destroyed. Thats why it is strongly recommended to save all source code files before profiling (e.g. by WinZip).

Setup:
ProDelphi is delivered with a comfortable setup program. It copies all files into the appropriate directories, integrates ProDelphi into the Delphi tools menu and creates an entry in the Windows list of programs (Start menu / Programs).

Switching on and off of measurement:
Simply done by deleting a compiler symbol and recompilation. At runtime this is also possible by the online operation window. Also intermediate measurement results can be stored at runtime (see also Programming-API).

Upgrading:
If you decide to use ProDelphi, you can download any upgrade or bug fix from my homepage. If you need ProDelphi for a larger project and 20 measured procedures are not enough for you, you can oder the professional version via ShareIt registration service. If you do so, you also can download new versions from my homepage for free. They will automatically run as professional version. (Buy one - get many).

Viewing of measurement results:
Results can be either displayed in CPU-cycles or in a variable time format. On a pentium with 500 MHz the smallest time unit is 0.002µs.
ProDelphi has THREE possibilities of viewing the measured runtimes:

The viewer can automatically exclude methods with a very low runtime from result displaying.

Visit Authors Homepage