|Posted by Bruce Adams||PermalinkReply|
As a result of a link posted here I dug around. Although their website is very
sparse on details cilk arts (http://www.cilk.com/) mention a concept they call
hyperobjects (a bad name because there are at least two other incompatible concepts with the same name).
Essentially the idea is that you can have multiple disjoint views of an object which can be altered
independently without contention and thus avoiding the need for locking.
For D this concept would apply particularly well to slices of builtin arrays.
Given foo, you can safely allow independent updates to disjoint slices such as foo[0..2] & foo[3..4]
without locking. Definitely something to make use of when we start fiddling with parallel foreach type