[fpc-devel] inline... and philosophy
pascaldragon at googlemail.com
Sat Nov 9 16:50:52 CET 2019
J. Gareth Moreton <gareth at moreton-family.com> schrieb am Sa., 9. Nov. 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.
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.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the fpc-devel