On Friday, 14 September 2012 at 14:27:43 UTC, monarch_dodra wrote:
On Friday, 14 September 2012 at 11:17:55 UTC, Jacob Carlborg wrote:

Perhaps using GC.malloc?

Hum, apparently, there is a second (default aka-hidden) argument that is a bitmask applied to the allocated memory. So not much gain there.

I'm allocating an array of 500_000 ulongs, and afterwards, I'm initializing them all "by hand", making the default allocation useless.

I'm not going to lose any sleep over this, but there is no way in D to get (garbage collected) un-initialized memory/allocations?

Never mind, I misread the doc. The bitmask is not memcopied, it is actually just a mask of options, so GC works perfectly.

Anybody know what the attribute "FINALIZE" (Finalize the data in this block on collect) means?

On Friday, 14 September 2012 at 18:14:54 UTC, bearophile wrote:
monarch_dodra:

I'm allocating an array of 500_000 ulongs, and afterwards, I'm initializing them all "by hand", making the default allocation useless.

In std.array there are two functions to avoid a double initialization, mostly to be used for nonreference data.

Bye,
bearophile
I was looking for those actually, but I was looking in std.algorithm...

Thanks

Reply via email to