[fpc-devel] inline... and philosophy
J. Gareth Moreton
gareth at moreton-family.com
Sun Nov 10 03:23:03 CET 2019
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 <gareth at moreton-family.com
> <mailto:gareth at 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 at lists.freepascal.org
> <mailto: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.
>
>
> 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 at lists.freepascal.org
> https://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20191110/66292dbc/attachment.html>
More information about the fpc-devel
mailing list