Smart pointers instead of GC?
monarch_dodra
monarchdodra at gmail.com
Mon Dec 31 04:36:01 PST 2012
On Monday, 31 December 2012 at 12:14:22 UTC, Sven Over wrote:
> On Tuesday, 25 December 2012 at 19:23:59 UTC, Jonathan M Davis
> wrote:
>> There's also often no reason not to have the GC on and use it
>> for certain stuff
>
> One thing that really freaks me out is the fact that the
> garbage collector pauses the whole process, i.e. all threads.
>
> In my job I'm writing backend services that power a big web
> site. Perfomance is key, as the response time of the data
> service in most cases directly adds to the page load time. The
> bare possibility that the whole service pauses for, say, 100ms
> is making me feel very uncomfortable.
>
> We easily achieve the performance and reliability we need in
> C++, but I would love to give D a chance, as it solves many
> inconveniences of C++ in an elegant way. Metaprogramming and
> the threading model, just to name two.
>
>> For instance, arrays would probably be GC-allocated in
>> general, since
>> then you can use slices and whatnot,
>
> A smart-pointer type for arrays can easily provide slices. It
> keeps a reference to the full array (which gets destructed when
> the last reference is dropped), but addresses a subrange.
>
> Thanks everyone for all the replies!
I think the problem would be if you try to append to the slice
(~): If the underlying array is not GC allocated, then it will
append to a new GC allocated array (AFAIK).
As long as you don't append, I'd say you are fine.
More information about the Digitalmars-d
mailing list