[fpc-devel] inline... and philosophy

J. Gareth Moreton gareth at moreton-family.com
Sat Nov 9 16:20:08 CET 2019


On 09/11/2019 15:14, Michael Van Canneyt wrote:
>
>
> On Sat, 9 Nov 2019, J. Gareth Moreton wrote:
>
>> Competitions aside, there are times where space is a premium, whether 
>> it be from distributing an application on a DVD, bandwidth or data 
>> limits (even some first world countries are still on dial-up in 
>> places, or are otherwise monopolised by a single, bad-quality 
>> provider), the smaller capacity of solid-state hard drives 
>> (especially on some laptops) and can otherwise be a money saver 
>> sometimes.
>
> I tend to think more size gains can be obtained from more aggressive 
> smartlinking.
> The smartlinking is sometimes disabled by the way code is written.
>
> To give an example, pas2js has a switch to convert published to public 
> sections. As a result, the published sections are suddenly reduced to 
> what is actually used in code. This produces significant size gains.
>
> Michael.
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
>
That's true.  That's mentioned in the "size matters" article. I didn't 
know about 'published' until then.  Presumably, if that switch doesn't 
exist (like with most of the LCL), I gather the only way to strip out 
those unused published sections is some very intelligent whole-program 
optimisation, and even then it may not work if a string (to access a 
property name) is not deterministic.

Gareth aka. Kit



More information about the fpc-devel mailing list