[Lazarus] Extending TRect breaks Lazarus

Lukasz Sokol el.es.cr at gmail.com
Mon Nov 9 11:48:02 CET 2015


On 09/11/15 10:19, Mattias Gaertner wrote:

> The above three are not the same.
> 
> The second version executes the With-Expression multiple times, so
> unless the compiler optimizes a lot it will create more code and will be
> slower.
> 
> The first and third versions have the same amount of reads/writes and
> with optimizations (-O2 or higher) create the same assembler code.
> Without optimizations the first is a bit faster, because the compiler
> stores the With-Pointer in a register, while in third version it stores
> it on the stack.
> 
>  
>> (but then, the last form, will have the variable declared explicitly, which probably means more complicated code around this region etc.?)
> 
> A local variable is bread and butter for the compiler. There is
> nothing complicated about it.
> I would argue that giving an expression a describing name can make code
> less complicated.
> 
> Mattias
> 

Thanks, I believe, this should be added into the docs somewhere ;) if it's not already there.

el es





More information about the Lazarus mailing list