[fpc-devel] Optimizing unused return values of inline functions
Thaddy de Koning
thaddy at thaddy.co.uk
Tue Aug 22 12:36:26 CEST 2017
> On 21.08.2017 13:22, Michael Van Canneyt wrote:
>> On Mon, 21 Aug 2017, Benito van der Zander wrote:
>>>> 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
>> 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
> === code begin ===
> StdIO::stdOutPrinter()->out("Helllo World ")->out(42)->out("
> === code end ===
> Each function returns again the instance that was returned by
> The whole pattern is called method chaining or fluent interface:
> - https://en.wikipedia.org/wiki/Method_chaining
> - https://en.wikipedia.org/wiki/Fluent_interface
> fpc-devel maillist - fpc-devel at lists.freepascal.org
E.g. KOL is based on this (or very close). The core methods always return
More information about the fpc-devel