Optimizing Java using D
Timon Gehr via Digitalmars-d
digitalmars-d at puremagic.com
Sun Jul 6 06:10:29 PDT 2014
Please don't under-quote, thanks.
>>>> Pointers are perfectly fine as long as there is no pointer arithmetic.
>>> Wrong. Merely holding a pointer (i.e. a physical address) is unsafe already.
>>> Non-deep serialization, or any other "preservation" of such a struct and GC
>>> is unable to keep the track of pointers. GC moves the object around or deletes
>>> it, and you have a tiny black hole in your app.
On 07/06/2014 01:45 PM, Wanderer wrote:
> On Sunday, 6 July 2014 at 04:20:21 UTC, Timon Gehr wrote:
>> That's not 'merely holding a pointer' and it applies to class
>> references just as much.
>
> [...] "proven" that references are as unsafe as
> pointers, [...]
If we are talking about 'merely holding' them, sure.
Otherwise, if one manages to serialize and deserialize a class reference
non-deeply, it is obviously just as unsafe to dereference it again after
deserialization as it would be in the case of a pointer.
> [...] reference semantics in order to replace pointers and achieve language and memory safety [...]
To achieve safety, it is sufficient to only allow safe _operations_ on
pointers, there's nothing particularly unsafe about pointers per se.
BTW, in case this discussion is still about settling whether counting
the number of swaps of a sorting algorithm is relevant at all, then
there is a much easier way: There are sorting algorithms where there are
asymptotically more swaps than compares in the respective worst cases.
More information about the Digitalmars-d
mailing list