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