[fpc-devel] Vectorisation, optimisation etc.
J. Gareth Moreton
gareth at moreton-family.com
Mon Apr 8 12:22:25 CEST 2019
I would consider a size reduction a
success if it doesn't impact performance,
although higher speed is always nice.
A lot of my research is currently waiting
on the XML node dump patch, since
vectorisation would have to be done at the
node level to be most efficient. Also, my
optimiser overhaul is still pending, so I
can't really touch the peephole optimiser
until it is either accepted (if it still
merges!) or rejected.
Gareth aka. Kit
On Sun 07/04/19 10:05 , Jonas Maebe
jonas at freepascal.org sent:
> On 2019-04-07 03:25, Ben Grasset wrote:
>
>
>
> > Even the fact that FPC will not /
cannot inline
> "procedure variable"
> > calls is far from great. Just that
alone would
> result in enormous
> > speedups in a huge amount of places...
>
>
>
> I'm sure there is code where that is the
case, but I very much doubt
>
> this particular functionality would help
with most code out there. E.g.,
>
> if I enable FPC's whole-program
devirtualisation on the compiler so that
>
> it tries to turn as many virtual calls
into direct calls, and then feed
>
> the result to LLVM (so it can inline all
of those previously indirect
>
> calls), the result is barely faster than
the original code (it is quite
>
> a bit smaller though).
>
>
>
> This is in spite of the fact that e.g.
all of the originally virtual
>
> AfterConstruction and BeforeDestruction
calls get removed completely
>
> (since they're empty), and quite a bit
of the code generator, register
>
> allocator and node tree methods also get
devirtualised.
>
>
>
> Again, I'm sure there are programs where
it does make a big difference,
>
> but I don't think the suggestion that
this would help in "a huge
> amount
> of places" is correct in the general
case.
>
>
>
>
>
> Jonas
>
>
__________________________________________
_____
>
> fpc-devel maillist - fpc-
devel at lists.freepascal.org
> http://lists.freepascal.org/cgi-
bin/mailman/listinfo/fpc-devel
>
>
>
>
More information about the fpc-devel
mailing list