On Sunday, 29 December 2013 at 15:26:35 UTC, Andrei Alexandrescu
wrote:
On 12/29/13 6:35 AM, "Ola Fosheim Grøstad"
<ola.fosheim.grostad+dl...@gmail.com>" wrote:
On Sunday, 29 December 2013 at 13:46:07 UTC, Dicebot wrote:
This is not true. Assuming skilled use and same compiler
backend those
are equally performant. D lacks some low-level control C has
(which is
important for embedded) but it is not directly related to
performance.
That low-level control also matters for performance, when you
have hard
deadlines. E.g. when the GC kicks in, it not only hogs all the
threads
that participate in GC, it also trash the caches unless you
have a GC
implementation that bypasses the caches. Sustained trashing of
caches is
bad.
Yeah how about using deterministic deallocation in the inner
loops - that's the only place where it matters.
If this is indeed true then it sounds like a standard technique
people should be aware of. I really hope it's stuck in Ali
Cehreli's book (which is awesome) before it's considered
completed and released. It would be very nice to have something
to point the GC-hating crowd to as a technique and ask them to
present examples where the technique isn't enough.