preliminary FPC examination

From: Hrvoje Brozovic (a.b_at_c.de)
Date: 05/31/04


Date: Mon, 31 May 2004 14:36:24 +0200

Purpose of test was to see if I can count on FPC in case
if some future changes on my ISP break Kylix CGI executables.

Unit1 is created by merging 3 real units,
enabling me to delete not used parts of
code instead of making changes for
FPC to compile successfully.
Only used code was changed
(mostly default params).

Net result is, FPC exe production is 2,5 times slower
than Delphi, and exe execution is 2 times slower.
Interesting thing, disk reading is even faster than delphi?
But, that may be because delphi went first,
and FPC benefited from caching (btw, file is 80Mb).

Code tested use SysUtils and Classes,
(FileXXX functions, TList, TStrings ).
That mostly covers my needs.

As seen in third go, even exceptions are working.

Overall result: good. Usable.

Next step is to try it on Linux.
Since it is actively developed,
and use static linking to libc,
there is better hope than in Kylix case.

D:\Projects\AdHoc\FreePasCheck>dcc32 -cc project1.dpr
Borland Delphi Version 15.0
Copyright (c) 1983,2002 Borland Software Corporation
Unit1.pas(3546)
Project1.dpr(137)
3685 lines, 0.99 seconds, 83836 bytes code, 3637 bytes data.

D:\Projects\AdHoc\FreePasCheck>project1.exe
Compiled with Delphi
First go, just read from disk
Start 31.05.2004 14:02:05.891 (dot is 3500 rec)
................................
Stop 31.05.2004 14:02:09.857 3,97 sec, 112219 recs, (28.295 rec per sec)
Second go, read and parse
Start 31.05.2004 14:02:09.857 (dot is 3500 rec)
................................
Stop 31.05.2004 14:02:25.219 15,36 sec, 112219 recs, (7.305 rec per sec)
Parsing only took 11,40 sec, 112219 recs, (9.847 rec per sec)
Third go, check parsed data
Start 31.05.2004 14:02:25.229 (dot is 3500 rec) ...
Exception ENSKError in module project1.exe at 0001389C.
Complex field (319) indicators not valid: , .

D:\Projects\AdHoc\FreePasCheck>FPC -Sd -dI386 project1.dpr
Hint: End of reading config file c:\programs\freepascal\bin\win32\fpc.cfg
Free Pascal Compiler version 1.0.10 [2003/06/27] for i386
Copyright (c) 1993-2003 by Florian Klaempfl
Target OS: Win32 for i386
Compiling project1.dpr
Compiling unit1.pas
Writing Resource String Table file: unit1.rst
Linking project1.exe
3681 Lines compiled, 2.9 sec

D:\Projects\AdHoc\FreePasCheck>project1.exe
Compiled with FPC
First go, just read from disk
Start 31.05.2004 14:05:33.900 (dot is 3500 rec)
................................
Stop 31.05.2004 14:05:37.396 3,50 sec, 112219 recs, (32.099 rec per sec)
Second go, read and parse
Start 31.05.2004 14:05:37.396 (dot is 3500 rec)
................................
Stop 31.05.2004 14:06:06.107 28,71 sec, 112219 recs, (3.909 rec per sec)
Parsing only took 25,22 sec, 112219 recs, (4.450 rec per sec)
Third go, check parsed data
Start 31.05.2004 14:06:06.107 (dot is 3500 rec) ...
An unhandled exception occurred at 0x004057F3 :
ENSKERROR : Complex field (319) indicators not valid: ,
  0x004057F3



Relevant Pages

  • Re: The 64-bit Strategy Session commence.
    ... > What are your thoughts on Lazarus? ... The FPC compiler is more usable though, I wrote a Delphi IDE expert, ... Stability, no decent debugger yet, compiling to DLLs doesn't seem to work. ...
    (borland.public.delphi.non-technical)
  • Re: Cross platform - an interim proposal
    ... All roads seem to be pointing to FPC ... FPC users that bought Delphi for this purpose, ... Keep in mind that crosscompiling is harder than compiling on target. ... You will probably want to have a Mac. ...
    (borland.public.delphi.non-technical)
  • Re: plain vanilla win32 Pascal compiler?
    ... my present view is that a win32 compiler should express the best ... at the first time i was useing FPC, i was looking for an alternative to ... Johns book is real pro when it comes to developing in Delphi, ... 'Windows Graphics Programming: Win32 GDI' by Feng Yuan in Pascal,better ...
    (comp.lang.pascal.misc)
  • Re: Is FPC an option in BDS because of MSBuild?
    ... more suitable for FPC codebases, such as better help you make ... use of include files than Delphi does. ... rebuilding your IDE. ... this requires close cooperation from compiler and IDE. ...
    (borland.public.delphi.non-technical)
  • Re: Is FPC an option in BDS because of MSBuild?
    ... Delphi is more powerfull than Lazarus and this is unlikely to ... Delphi" will every become. ... a "FPC inside Delphi". ... Delphi IDE refactors *Delphi* source code, ...
    (borland.public.delphi.non-technical)