On 12/11/12 2:19 AM, monarch_dodra wrote:
On Tuesday, 11 December 2012 at 03:09:53 UTC, Dan wrote:
On Tuesday, 11 December 2012 at 01:47:38 UTC, Walter Bright wrote:
On 12/10/2012 10:40 AM, Dan wrote:
For something as simple as this would you introduce COW?

Yes.

Any D examples showing the pattern in action with structs? I did not
see anything in the index of TDPL on COW except one reference
regarding strings. If it is a better approach I would like to know
more about how it is done and the trade-offs. Some of the responses
refer to having to check on every access, so is that not tough to manage?

Thanks
Dan

Here is a example of using COW for a simple object that wraps
nothing more than an int:
[snip]

Walter and I discussed that it should be possible to automate the dupIfNeeded() (I call it ensureUnique()) calls like this:

* If a method is const or immutable, leave as is
* For all other methods, insert a ensureUnique() automatically in the prolog code

For this to work, the state must be private and all primitives must be implemented via methods (as opposed to free functions).


Andrei

Reply via email to