PDA

View Full Version : Free Pascal 2.0.2



WILL
12-12-2005, 02:26 AM
Free Pascal 2.0.2 is now out!

This version is being released as a bug fix to some of the problems in the released 2.0. Not many new features, but it does fix some rather important issues.


Bug fixes:

<ul> Lot of small bugs and compatibility fixes to the Compiler, RTL, FCL, Packages and IDE Improved SSE support Improved inlining Enhanced variant support Embedded resource support for targets using elf32 executable format added Type checking of compile time expressions added Mode MacPas: Support for Mac style objects added Mode MacPas: Compile time variables can be given on command line Improved data base support Improved SqlDB package Improved docs Bug fixes for FreeVision[/list]


NOTE to FPC 4 GBA fans: Support for the GameBoy Advanced platform was implimented into the post 2.0 source and sould be available in this release! :thumbup:


To get Free Pascal go to freepascal.org ('http://www.freepascal.org/')!

JernejL
14-12-2005, 06:17 PM
nice one, if it only compiled and its programs worked faster or at least comparable to delphis speed it could be useful.

technomage
14-12-2005, 07:28 PM
has anyone done any speed tests between FPC and Delphi? It would be interesting to see exactly what performance differences (if any) are present.

dmantione
14-12-2005, 11:00 PM
It depends on the exact situation, experience is that Free Pascal can beat Delphi with full optimizations on, but it depends on the exact test. For example Delphi is very slow with int64, while it handles normal 32 bit integers very efficiently.

marmin
15-12-2005, 07:47 PM
In fact, i did a speed test of a 3d game i was making 1/2 year ago. I made the game and ported it to Lazarus. The game ran slightly faster than in Delphi 6.

technomage
15-12-2005, 11:13 PM
can you remember which optimizations you used?

WILL
16-12-2005, 04:54 AM
You know, this would make a rather interesting PGD article. :)

marmin
16-12-2005, 01:08 PM
I had a lot of floating point calculations in it. I;ve read somewhere that FP is somewhat faster in flosting point calculations.
In my current game i use almost no f.p. calc. and I work in Lazarus as well as Delphi 6 personal. I see no difference at all in CPU power (both around 20% on a 1 ghz. amd duron). Which is of course a big plus for Lazarus! :D I mostly set the compiler optim. to level 2.

Sly
17-12-2005, 12:11 AM
Long string operations were much slower in FPC, but in latest code (as of a few days ago), long string operations have been sped up dramatically. This was reported in the FPC mailing list.

WILL
17-12-2005, 12:24 AM
Sly: Thats great news! :)

Oh man... :? Talk about disappointing, the GBA support that FPK had added to the SourceForge CVS was not released with the 2.0.2 source release. :cry:

So I guess we just have to keep bugging him. Or releasing new modification packages for concurrent versions.

Legolas
17-12-2005, 01:06 AM
Sly: Thats great news! :)

Oh man... :? Talk about disappointing, the GBA support that FPK had added to the SourceForge CVS was not released with the 2.0.2 source release. :cry:

So I guess we just have to keep bugging him. Or releasing new modification packages for concurrent versions.

I sent you some weeks ago a PM about a new GBA porting. Do you have tried to play with this new release? :D

technomage
17-12-2005, 07:43 AM
Long string operations were much slower in FPC, but in latest code (as of a few days ago), long string operations have been sped up dramatically. This was reported in the FPC mailing list.

So any operations using the standard string type would have been slower in an earlier releae :?: That would explain allot, jasonf was working on a linux port of the Guns DelphiX demo (http://www.cerebral-bicycle.co.uk/viewdoc.asp?doc=), but we saw major performance differences between delphi compiled binaries and FPC, the code made heavy use of StringLists to store and search for data. I'l try compiling the code with FPC 2.0.2 and see if there performance increase. :)

Almindor
19-12-2005, 11:25 AM
Use {$implicitexceptions off} (IIRC, check if it's right)
and you'll see DRAMATIC ansistring speed increase.

This is dangerous because if you made setupid memory bugs you won't see them so do only when your program is release-able.

Long story short, the speed is in in implicit try finaly for all managed types (dynarrays, ansistrings)