Boian,
since you keep on repeating the false argument that reference counting
will somehow speed up parallel performance, I will restate the obvious:
using reference counting will decrease parallel performance for the
following obvious reasons:
1. Each reference assignment involves an atomic operation which, if used
often enough will cause threads to wait and waste cycles.
2. Each reference assignment involves pulling the value referenced by a
pointer and incrementing/decrementing it. In the process you will mess up
with the cache of the current thread: data which was supposed to be in the
cache for real work will be invalidated because of the ARC operation.
3. The cache of other threads will be similarly affected, even if the
atomic operation does not involve other threads
4. ARC operations will likely involve virtual functions, which have
overhead and do cause pointer running.
In summary, in memory intensive code, where the bus bandwidth is fully
utilized, ARC is a serious problem because of 2-4. In CPU intensive code 1
is a problem.
Now, it is good that you managed to reduce your code by a factor of 4.
Clearly this is not due to availability of ARC. Clearly what you do is not
the only thing that programming languages are used for. So, the
implication that we will all somehow benefit likewise if ARC is introduced
is simply ludicrous.
Peter
On Tue, 23 Sep 2014 20:43:28 +0300, Boian Mitov <mi...@mitov.com> wrote:
Yes, our solutions are among the most advanced that currently exist, and
are on the cutting edge by any mean.
Most of the technologies are developed by us to solve problems
traditionally considered unsolvable ;-) .
This is what keeps us in business ;-) .
Most people do not understand how we can do what we do, but there is no
magic. It is all very well developed (I dear to say), and at the end
very simple code (Took many years to get it that simple :-D ).
With best regards,
Boian Mitov
-------------------------------------------------------
Mitov Software
www.mitov.com
-------------------------------------------------------
-----Original Message----- From: Giuliano Colla
Sent: Tuesday, September 23, 2014 10:26 AM
To: FPC developers' list
Subject: Re: [fpc-devel] Suggestion: reference counted objects
Il 23/09/2014 18:00, Boian Mitov ha scritto:
Maybe I'm simple minded but I still have some pain understanding how a
producer thread may manage to send an object to a one or more consumer
threads which a) are unknown to it, and b) may not yet exist. Again not
an hypothetical case. Just a different application frame.
Giuliano
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel
--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/
_______________________________________________
fpc-devel maillist - fpc-devel@lists.freepascal.org
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel