ProDelphi 12.x    Copyright 1998-2003  Helmuth J. H. Adolph

Freeware and Professional Mode

---------------------------  Installing ProDelphi  ----------------------------

A  General
----------

 1. Check your CPU:
   
    ProDelphi runs on Pentium and Pentium compatible CPU's. It has been
    tested on:
    - Pentium Overdrive 120 MHz, Intel Celeron 400 MHz, Intel Pentium II, 
      with 400 MHz and Pentium III with 750 MHz.
    - AMD K6 166 and 233 MHz, AMD K6-2 266, 300 and 500 MHz, AMD K6-3 400 MHz, 
      AMD Athlon 600 MHz, Duron 1000 Mhz

   
    It definitely does NOT run on a Cyrix 6x86. The Cyrix M2 and IDT have
    not been tested.

 2. It is not necessary to uninstall an old version of ProDelphi before
    installing the new version.

 3. Install ProDelphi with the enclosed Setup program.

 4. You should read the documentation (GuidePD.PDF), Post-Mortem-review is only
    described in the documention.


B.  Testing the installation with the example programs (for automatic setup)
----------------------------------------------------------------------------

  If you have installed ProDelphi with Setup.exe, you can now, for testing 
  the installation or for checking the accuracy of ProDelphi, compile the
  two example programs installed in the subdirctories under your installation
  directory. The example in the directory DONT-PROFILE should not be 
  profiled, only compiled. It has a built-in runtime measurement and gives
  you the runtime for some typical code constructions you would always come 
  across when you write programs yourself. 

  The compiler switch for optimization should be unchecked, otherwise
  ProDelphi inserts lines for deactivating optimization into your sources.

  The program in the directory PROFILE-ME is, in principal, the same program
  without the built-in runtime measurement. You should first compile this
  program and then start ProDelphi from the Tools-menu of Delphi. Select
  'Profile', select this program, check the box 'Autostart' and then click
  the Run-button. After that define the compiler symbol 'PROFILE' in Delphi
  and compile it again. Start the program, press the start button and then
  close the application. In ProDelphi select the function 'View', select
  the text file in the directory PROFILE-ME, and click 'Run'. A window should
  appear with the measurement results. Keep this window open.

  Compile the program in the directory DONT-PROFILE and start it. Compare
  the results for runtime measurement of both programs, they should be
  nearly identical (differences depend on the cache size of your CPU - see
  progrm description,

  The programs in the subdirectory DLLSUPP are fore users which want 
  to measure methods in DLL's


C. Profiling your own sources
-----------------------------

 1. Save all your sources (e.g. ZIP them into an achive file).

 2. Compile your program.

    If no errors occur:

    3. Start ProDelphi.

    4. Select Profile and mark the correct Delphi-version. If you use
       conditional symbols, you should  see them in your ProDelphi window (if
       not, you haven't saved your project).

    5. Select this directory of your DPR-file.

    6. Click on Run.

    7. Define the compiler symbol PROFILE in the compiler options (conditional
       definitions), NOT in the source file! Uncheck the
       Optimization-option !!!!!!! and make a COMPLETE compilation.

    8. Start your program and let it do what it has to do.

       Attention: When you start your program, it takes a second or two for
                  calibration (estimation of your CPU speed and measurement
                  correction times).

                  When you use ProDelphi under Windows 95, the interrupts
                  are locked while calibrating, that means that your mouse
                  cursor does not move !!!
                  Under Windows NT/XP/2000 the interrupts can not be locked, 
                  so your mouse cursor can be moved.

                  Please do not start any other programs while calibrating,
                  otherwise the results are incorrect.

                  After the calibration phase the Online operation window and
                  your form(s) is/are shown.


    9. After your program has terminated, start ProDelphi, select VIEW,
       open the directory with your compiled program, select the file 
       'Progname.TXT' and click the Run-button.
       'Progname' stands for the name of your program.
       After this actions the viewer window opens and you can look at the
       results of the measurement.

       If, at profilation time, you have checked ASCII-output file you also
       can have a look into the result file (programname.BEN) with Delphi
       or print it with Delphi (use landscape format).

   10. Checked procedures might use a few CPU-cycles more than they would
       use without measurement. The reason is, that the measurement procedures
       in the unit ProfInt and in the DLL ProfMeas are moved into the memory 
       cache and delete those procedures that would be there without 
       measurement. Depending on the CPU you use, the results are very accurate
       or less accurate. (Same effect is given for data too.)

       The L1-cache of the plain pentium has 16 kB,
       the L1-cache of pentium MMX / PII or Celeron have 32 kB Cache size,
       the AMD K6 / K6-2 / K6-3 have 64 kB L1-Cache size, AMD Athlon has
       128 kB L1-Cache, Pentium 4 A has 20 kB L1-Cache.
       Also the L2-Cache sizes differ, the processor might have a L3-cache
       (e.g. the AMD K6-3). Also the accesses to L2-cache differ (1/3, 1/2,
       1/1 CPU frequency or bus frequency).

       That's why the results on an AMD K6-x or AMD Athlon are more excact 
       than on pentium processors.


11. See the GuidePD.PDF file for further instruction or information.

12. Limitations of use:

    Console applications can not have an online operation window.
    For further minor important limitations see README.DOC.

13. For DLL-support unzip the file DLLSUPP.ZIP and read the comments in the
    sources.


--------------------------  Uninstalling ProDelphi ----------------------------

Delete the files, directories and links you have created. For that you can use
the Setup Program.


-----------------------  ProDelphi Distribution Files  ------------------------

  PROFILER.EXE   ProDelphi executable file
  PROFINT.PAS    Units for Delphi2, Delphi3, Delphi4 and Delphi 5 that links
                 the profiled program or DLL to the measurement DLL 
                 PROFMEAS.DLL (time measurement).
  PROFONLI.PAS   Units for Delphi2, Delphi3, Delphi4 and Delphi 5 that content
                 the functions of the online operation window.
  PROFONLI.DFx   DFM - files for Delphi2, Delphi3, Delphi4 and Delphi 5 that 
                 content the form of PROFONLI.PAS.
  PROFMEAS.DLL   The DLL, that contents all measurement procedures. There is
                 one DLL for all Delphi versions.
  PROFCALI.DLL   DLL that computes the measurement correction (calibration),
                 it is included used by PROFINT.PAS.
  GuidePD.PDF    Description of ProDelphi x.x (Adobe-Format)
  ORDER.TXT      Information on how to order the registered version
  LICENSE.TXT    License Agreement / Warranty Disclaimer
  VENDOR.TXT     Information for shareware distributors
  INSTALL.TXT    This file.
  NEWS.TXT       News and Hints for usage of ProDelphi.
  REGISTER.ENG   Registration via www.shareit.com (english)
  REGISTER.GER   Registration via www.shareit.com (german)
  SETUP.EXE      Program for automatic setup.
  GETSPEED.EXE   Program to get the speed index of a PC to be emulated.
  DLLSUPP.ZIP    Example project for measuring procedures in a DLL.


-------------------------  Files created by ProDelphi -------------------------

PROFLST.ASC    Contains information about the procedures to be measured for
               profiling or traced for post mortem review.

PROFILE.INI    Options for time measurement, screen coordinates for the
               online operation window.

----------  Files created at runtime by measured or traced programs -----------

PROGNAME.EXE   PROGNAME is the name of your executable, created by Delphi.

PROGNAME.TXT   Results in data base format (runtimes of the procedures), used
               by the built-in viewer.

PROGNAME.TX2   Run numbers, CPU-clock-rate and headlines for the built-in
               viewer.

PROGNAME.NEV   Contents the names of those methods that are not called at
               time of measurement.

PROGNAME.HST   History file, stored by the viewer when the history button
               is pressed. Contains runtimes for later comparison after
               optimization.

PROGNAME.BEN   Results of the time measurement in ASCII if the option
               ASCII-output file was checked at profiling time.

PROGNAME.SWO   List of procedures that have to be deactivated for time
               measurement at next program start.

PROGNAME.PMR   Call stack in case of a trapped exception (for Post Mortem 
               Review only).

All files are created in the output directory for the exe- or dll-file.
