FREE Basic & Pascal (Developers)
> Now what happens if we just for fun include another unit (in our example
> CLASSES).
> (uses classes; begin writeln('Hello world!');end.)
> FPC 1.0.10 (smart,...): 97792 bytes
> FPC 2.6.4 (smart,...): 216064 bytes
Make sense, 2.x series has much more delphi features.
> 1) The size of FPC binary is caused by automaticaly included set of basic
> units (unit System, ev. also ObjPas). Between FPC 1.0.10 and FPC 2.6.4 came
> many new features, procedures and functions into these units so the their
> size remarkably increased.
> ->If the size is critical, use FPC 1.0.10
I would use the 16-bit compiler. It is new and generates smaller binaries afaik. fpctris is 50k. Speaking of which, seems that large memmodel is now also largely done,
> FPC 1.0.10 static: 222152 (L2) or 229816 (L0)
> smart: 189440
>
> FPC 2.6.4 static 317952 (L2) or 318976 (L0)
> smart: 105984 (!!!)
>
> The superiority of 2.6.4 smartlinking if suprising in light of previous
> tests.
> Perhaps has 2.6.4 better dead code removal algorithm.
I've no real explanation for this (specially the magnitude of the differences)
Afaik some of the tables of the main program were optimized to be more smartlinkable (tables with unit initialization, resourcestrings etc). Maybe it has some knock-on effect in your case.
Of course the entire codegenerator was rewritten, so it could be that differences slipped in (e.g. minor mods that creates a finer division in sections in certain cases). Maybe the division into sections was altered during the 2.x cg rewrite, but that wouldn't be announced as feature.
Last but not least, I assume LD got an update somewhere along the way. It might be worth testing with 2.7.x too, since IIRC 2.7.x has an internal linker for go32v2.
Complete thread:
- FREE Basic & Pascal - w3a537, 03.07.2014, 22:39 (Developers)
![Open in board view [Board]](img/board_d.gif)
![Open in mix view [Mix]](img/mix_d.gif)
- FreeBasic and FreePascal - Rugxulo, 04.07.2014, 05:55
- FreeBasic and FreePascal - marcov, 04.07.2014, 14:01
- FreeBasic and FreePascal - w3a537, 04.07.2014, 20:56
- FreeBasic and FreePascal - w3a537, 04.07.2014, 21:09
- FreeBasic and FreePascal - Rugxulo, 15.07.2014, 18:43
- FreeBasic and FreePascal - Rugxulo, 15.07.2014, 18:59
- FreeBasic and FreePascal - Rugxulo, 15.07.2014, 19:30
- FreeBasic and FreePascal - RayeR, 15.07.2014, 23:47
- FreeBasic and FreePascal - marcov, 17.07.2014, 09:23
- FreeBasic and FreePascal - RayeR, 17.07.2014, 11:02
- FreeBasic and FreePascal - marcov, 17.07.2014, 11:32
- FreeBasic and FreePascal - RayeR, 17.07.2014, 11:02
- FreeBasic and FreePascal - marcov, 17.07.2014, 09:23
- FreeBasic and FreePascal - RayeR, 15.07.2014, 23:47
- FreeBasic and FreePascal - marcov, 05.07.2014, 14:27
- FreeBasic and FreePascal - w3a537, 05.07.2014, 18:44
- FreeBasic and FreePascal - Rugxulo, 15.07.2014, 18:27
- FreeBasic and FreePascal - marcov, 17.07.2014, 11:12
- FreeBasic and FreePascal - Rugxulo, 18.07.2014, 21:53
- FreeBasic and FreePascal - marcov, 19.07.2014, 16:42
- FreeBasic and FreePascal - Rugxulo, 18.07.2014, 21:53
- FreeBasic and FreePascal - marcov, 17.07.2014, 11:12
- FreeBasic and FreePascal - glennmcc, 05.07.2014, 23:40
- FreeBasic and FreePascal - w3a537, 06.07.2014, 04:50
- FreeBasic and FreePascal - w3a537, 04.07.2014, 21:09
- FreeBasic and FreePascal - nickysn, 21.08.2014, 10:11
- FreeBasic and FreePascal - w3a537, 04.07.2014, 20:56
- FreeBasic and FreePascal - marcov, 04.07.2014, 14:01
- FREE Basic & Pascal - Laaca, 05.07.2014, 12:07
- FREE Basic & Pascal - marcov, 05.07.2014, 14:02
- FREE Basic & Pascal - Rugxulo, 09.07.2014, 01:48
- FREE Basic & Pascal - marcov, 10.07.2014, 11:29
- FREE Basic & Pascal - Oso2k, 10.07.2014, 20:02
- FREE Basic & Pascal - Rugxulo, 12.07.2014, 04:38
- FREE Basic & Pascal - marcov, 12.07.2014, 14:43
- FREE Basic & Pascal - marcov, 10.07.2014, 11:29
- FREE Basic & Pascal - Rugxulo, 09.07.2014, 01:48
- FREE Basic & Pascal - w3a537, 05.07.2014, 18:53
- FREE Basic & Pascal - w3a537, 05.07.2014, 19:06
- FREE Basic & Pascal - RayeR, 08.07.2014, 17:08
- FREE Basic & Pascal - w3a537, 08.07.2014, 22:38
- FREE Basic & Pascal - RayeR, 08.07.2014, 17:08
- FREE Basic & Pascal - w3a537, 05.07.2014, 19:06
- FREE Basic & Pascal - marcov, 05.07.2014, 14:02
- FREE-Baysic & FREE-Pascal - DOS386, 27.10.2014, 02:40
- FREE-Baysic & FREE-Pascal - Rugxulo, 01.11.2014, 20:22
- FREE-Baysic & FREE-Pascal - DOS386, 10.11.2014, 04:07
- FREE-Baysic & FREE-Pascal - Rugxulo, 11.11.2014, 01:10
- FREE-Baysic & FREE-Pascal - DOS386, 10.11.2014, 04:07
- FREE-Baysic & FREE-Pascal - Rugxulo, 01.11.2014, 20:22
- FreeBasic and FreePascal - Rugxulo, 04.07.2014, 05:55
Mix view