read() performance - Linux.too?
Unknown W. Brackets
unknown at simplemachines.org
Mon Jul 24 22:27:32 PDT 2006
Yes, that's what I meant. You'd remove the range of memory from
scanning, but keep the root.
Please correct me if I'm wrong.
Thanks,
-[Unknown]
> On Tue, 25 Jul 2006 15:15:24 +1000, Derek Parnell
> <derek at nomail.afraid.org> wrote:
>> On Mon, 24 Jul 2006 22:02:31 -0700, Unknown W. Brackets wrote:
>>
>>> Actually, I believe it's just:
>>>
>>> import std.gc;
>>>
>>> // ...
>>>
>>> ubyte[] data = new ubyte[1024 * 1024];
>>> std.gc.removeRange(data);
>>>
>>> This tells it, afaik, not to scan the described range for pointers. It
>>> seems to me entirely possible that the compiler could automatically
>>> generate this code for new ubyte[] and such calls.
>>
>> Yes, but wouldn't that RAM be deallocated only at program end? If you
>> wanted it deallocated earlier you would still have to delete it.
>
> The range pointed at by the array 'data' shouldn't be scanned, but there
> is no reason the array reference itself cannot be scanned and therefore
> collected, right? And if the array reference is collected, the data will
> be freed, just not scanned for other pointers, right?
>
> Regan
>
More information about the Digitalmars-d
mailing list