[fpc-devel] Suggestion: reference counted objects

Boian Mitov mitov at mitov.com
Tue Sep 23 19:47:25 CEST 2014

This is a valid point.
The only downside is that the object will every time do a deep copy versus a shallow (pointer only) copy. Deep copy is very, very expensive operation.
Adding ref. counting to objects is probably equivalent of one interlocked assembly instruction, so a very small difference, probably not even measurable.
Copy of a large object can take a large memory transfer, and will also reserve memory for each copy, thus significantly increasing memory.
While both approaches have something going for them, they are not total subside for each other.

With best regards,
Boian Mitov

Mitov Software

From: August Oktobar 
Sent: Tuesday, September 23, 2014 10:35 AM
To: FPC developers' list 
Subject: Re: [fpc-devel] Suggestion: reference counted objects

To somebody (probably Sven):

In FPC there is concept of stack based objects (object) that behave like classes (with inheritance)?
Why not just extend this object with support for constructors and destructors, and there is no need for the ARC?

On Mon, Sep 22, 2014 at 2:05 PM, Hans-Peter Diettrich <DrDiettrich1 at aol.com> wrote:

  Sven Barth schrieb:

    Am 22.09.2014 09:47 schrieb "Michael Schnell" <mschnell at lumino.de 

    > Why not use "interface" to add ref-counting to an object ? This seems to work nicely even though the name "interface" in not "speaking" on that behalf.

    Because you'll need to declare an interface for each class you want to have reference counted so that you can access its methods, properties, etc.

  This overhead could be eliminated by another syntax extension, like
    TMyARCclass = interface(TObject)
  where the Compiler could allow for implementations of the declared methods just as for
    TMyARCclass = class(TObject)
  bridging the gap between traditional (strictly declarative) interfaces and classes (including implementations), with or without ARC.


  fpc-devel maillist  -  fpc-devel at lists.freepascal.org

fpc-devel maillist  -  fpc-devel at lists.freepascal.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20140923/2de9e2b1/attachment.html>

More information about the fpc-devel mailing list