[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
begin
out("Helllo World ");
out(42);
out("");
hex();
out(42);
line();
end;
I see no point or gain in the "fluent" code.
Michael.
More information about the fpc-devel
mailing list