[fpc-devel] Optimizing unused return values of inline functions

Michael Van Canneyt michael at freepascal.org
Tue Aug 22 13:15:24 CEST 2017

On Tue, 22 Aug 2017, Thaddy de Koning wrote:

>> On 21.08.2017 13:22, Michael Van Canneyt wrote:
>>> On Mon, 21 Aug 2017, Benito van der Zander wrote:
>>>> Hi,
>>>>> This pattern is not inherently efficient. Why should it be ?
>>>> It is not efficient, because of the pointless instruction!
>>> I am not speaking of the current FPC implementation. It may well be that
>>> the
>>> code is not most optimal.
>>> I am asking, why do you think *this pattern* (of always returning self)
>>> should be inherently more efficient ?
>> The pattern definitely has its uses. E.g. in the user space of our
>> operating system at work we have a StdOutPrinter class that is used like
>> this:
>> === code begin ===
>> StdIO::stdOutPrinter()->out("Helllo World ")->out(42)->out("
>> ")->hex()->out(42)->line();

Call me old-fashioned, but I much prefer

   With StdIO::stdOutPrinter() do
     out("Helllo World ");

I see no point or gain in the "fluent" code.


More information about the fpc-devel mailing list