Does the smart linker strip out LCL components that are not used, or
must everything that's registered in a package or unit be included?
Granted, since forms are being read from a resource file, I doubt it can
really be tied into the compiler that closely.
Gareth aka. Kit
On 09/11/2019 15:50, Sven Barth via fpc-devel wrote:
J. Gareth Moreton <gar...@moreton-family.com
<mailto:gar...@moreton-family.com>> schrieb am Sa., 9. Nov. 2019, 16:20:
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@lists.freepascal.org
<mailto:fpc-devel@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.
For the LCL it's simply not possible, because it relies heavily on the
RTTI. And in the future that will only increase with extended RTTI.
Regards,
Sven
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel