On Thursday, 12 February 2015 at 15:53:07 UTC, Marc Schütz wrote:
On Thursday, 12 February 2015 at 10:16:49 UTC, Ola Fosheim Grøstad wrote:
then query the GC wether the memory is still allocated.

This is racy, though. Someone (or the GC) could have freed the object in the meantime, and a new object of potentially different type could have taken its place. You won't get around pinning it.

It will statistically work for objects that are large and have high entropy. Just hash the fields you want to be the same. If entropy is a problem add a unique instance id that is a large random bit string and make sure it is cleared when the object is released.

It's the same technique used for IDs in distributed systems under the assumption that the probability of hardware failure is larger than the probability of a ID collision... but you have to do the math to be sure that the probability of failure is acceptable.

Reply via email to